本文整理汇总了C++中VertexAttribute::disable方法的典型用法代码示例。如果您正苦于以下问题:C++ VertexAttribute::disable方法的具体用法?C++ VertexAttribute::disable怎么用?C++ VertexAttribute::disable使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类VertexAttribute
的用法示例。
在下文中一共展示了VertexAttribute::disable方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: updateTF
void updateTF (Tucano::Mesh& mesh, const Tucano::Camera& camera, const Tucano::Camera& lightTrackball)
{
qDebug() << "UPDATING TF2";
tf.bind();
//mesh.setAttributeLocation(tf);
glEnable(GL_RASTERIZER_DISCARD);
mesh.bindBuffers();
Tucano::Misc::errorCheckFunc(__FILE__, __LINE__);
//VertexAttribute* va = mesh.getAttribute("nPos");
write_va->disable();
//glDisableVertexAttribArray(mesh.getAttributeLocation("nPos"));
read_va->enable(tf.getAttributeLocation("inPos"));
Tucano::Misc::errorCheckFunc(__FILE__, __LINE__);
glBindBufferBase(GL_TRANSFORM_FEEDBACK_BUFFER, 0, write_va->getBufferID());
glBeginTransformFeedback(GL_POINTS);
glEnable(GL_DEPTH_TEST);
mesh.renderPoints();
glEndTransformFeedback();
glBindBufferBase(GL_TRANSFORM_FEEDBACK_BUFFER, 0, 0);
mesh.unbindBuffers();
glDisable(GL_RASTERIZER_DISCARD);
tf.unbind();
}
示例2: render
/** * @brief Render the mesh given a camera and light, using a Phong shader
* @param mesh Given mesh
* @param camera Given camera
* @param lightTrackball Given light camera
*/
void render (Tucano::Mesh& mesh, const Tucano::Camera& camera, const Tucano::Camera& lightTrackball)
{
if (read_va == NULL)
{
read_va = mesh.getAttribute("positions1");
write_va = mesh.getAttribute("positions2");
}
if (read_va == NULL || write_va == NULL)
qDebug() << "AHHH morri";
updateTF(mesh, camera, lightTrackball);
Eigen::Vector4f viewport = camera.getViewport();
glViewport(viewport[0], viewport[1], viewport[2], viewport[3]);
simple.bind();
// sets all uniform variables for the phong shader
simple.setUniform("projectionMatrix", camera.getProjectionMatrix());
simple.setUniform("modelMatrix", mesh.getModelMatrix());
simple.setUniform("viewMatrix", camera.getViewMatrix());
glEnable(GL_DEPTH_TEST);
//mesh.setAttributeLocation(simple);
mesh.bindBuffers();
// mesh.resetLocations();
//qDebug() << mesh.getAttribute("nPos")->getLocation();
read_va->disable();
write_va->enable(simple.getAttributeLocation("inPos"));
mesh.setAttributeLocation("nColor", simple.getAttributeLocation("inColor"));
mesh.renderPoints();
mesh.unbindBuffers();
simple.unbind();
VertexAttribute *tmp_va;
tmp_va = read_va;
read_va = write_va;
write_va = tmp_va;
}