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(); }