本文整理汇总了C++中Pipeline::addMatrix方法的典型用法代码示例。如果您正苦于以下问题:C++ Pipeline::addMatrix方法的具体用法?C++ Pipeline::addMatrix怎么用?C++ Pipeline::addMatrix使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Pipeline
的用法示例。
在下文中一共展示了Pipeline::addMatrix方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: render
void FireWorkEffect::render(Pipeline& p, Renderer* r)
{
p.pushMatrix();
p.translate(m_position);
p.addMatrix(m_rotation);
p.scale(m_scale);
r->setUniLocs(p);
glBindBuffer(GL_ARRAY_BUFFER, m_particleBuffer[m_currTFB]);
glEnableVertexAttribArray(0);
glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, sizeof(FireWorkParticle), (const GLvoid*)4); // position
glDrawTransformFeedback(GL_POINTS, m_transformFeedback[m_currTFB]);
glDisableVertexAttribArray(0);
p.popMatrix();
m_currVB = m_currTFB;
m_currTFB = (m_currTFB + 1) & 0x1;
}
示例2: updateViewMatrix
void ThirdPersonCamera::updateViewMatrix(Pipeline& p)
{
p.setMatrixMode(VIEW_MATRIX);
p.loadIdentity();
updateEyePos();
glm::vec3 up = glm::vec3(0.0f,1.0f,0.0f);
lookAt(m_eye, m_target, up);
m_viewMatrix = m_viewMatrix * glm::translate(0.0f, -m_eyeOffset.y, 0.0f);
m_eye.y += m_eyeOffset.y;
p.setMatrixMode(VIEW_MATRIX);
p.addMatrix(m_viewMatrix);
p.setViewPosition(m_eye);
}