本文整理汇总了C++中WeakReference::setUniform方法的典型用法代码示例。如果您正苦于以下问题:C++ WeakReference::setUniform方法的具体用法?C++ WeakReference::setUniform怎么用?C++ WeakReference::setUniform使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WeakReference
的用法示例。
在下文中一共展示了WeakReference::setUniform方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: flushLines
void flushLines()
{
using namespace jop;
if (m_lines.empty() && m_points.empty())
return;
// Draw lines
if (!m_lines.empty())
{
m_buffer.setData(m_lines.data(), m_lines.size() * sizeof(LineVec::value_type));
shdr->setUniform("u_PVMatrix", m_proj->projectionMatrix * m_proj->viewMatrix);
GlState::setVertexAttribute(true, Mesh::VertexIndex::Position);
GlState::setVertexAttribute(true, Mesh::VertexIndex::Color);
glCheck(glVertexAttribPointer(Mesh::VertexIndex::Position, 3, GL_FLOAT, GL_FALSE, sizeof(LineVec::value_type), reinterpret_cast<void*>(0)));
glCheck(glVertexAttribPointer(Mesh::VertexIndex::Color, 3, GL_FLOAT, GL_FALSE, sizeof(LineVec::value_type), reinterpret_cast<void*>(sizeof(btVector3))));
glCheck(glDrawArrays(GL_LINES, 0, m_lines.size()));
m_lines.clear();
}
// Draw points
if (!m_points.empty())
{
#ifndef JOP_OPENGL_ES
glCheck(glPointSize(3));
#endif
m_buffer.setData(m_points.data(), m_points.size() * sizeof(LineVec::value_type));
glCheck(glDrawArrays(GL_POINTS, 0, m_points.size()));
m_points.clear();
}
}