本文整理汇总了C++中GLSLProgram::unUse方法的典型用法代码示例。如果您正苦于以下问题:C++ GLSLProgram::unUse方法的具体用法?C++ GLSLProgram::unUse怎么用?C++ GLSLProgram::unUse使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GLSLProgram
的用法示例。
在下文中一共展示了GLSLProgram::unUse方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: onRender
void HelloGLSL::onRender()
{
glslProgram.use();
glBindVertexArray(vao);
glDrawArrays(GL_TRIANGLES, 0, 3);
glslProgram.unUse();
glBindVertexArray(0);
}
示例2: onRender
void OgroInvasion::onRender()
{
glslProgram.use();
glBindVertexArray(vaoID);
glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, nullptr);
glBindVertexArray(0);
glslProgram.unUse();
}
示例3: getVAOForContext
GLuint Model::getVAOForContext(GLSLProgram &shader, QGLContext *context){
if (!vaoHashContainer_.contains(context)) {
glGenVertexArrays(1, &vaoID_);
glBindVertexArray(vaoID_);
shader.use();
glBindBuffer (GL_ARRAY_BUFFER, vboVerticesID_);
glEnableVertexAttribArray(shader["vVertex"]);
glVertexAttribPointer(shader["vVertex"], 3, GL_FLOAT, GL_FALSE,sizeof(Vertex),0);
if (shader.isActive(shader["vNormal"])) {
glEnableVertexAttribArray(shader["vNormal"]);
glVertexAttribPointer(shader["vNormal"], 3, GL_FLOAT,
GL_FALSE, sizeof(Vertex), (const GLvoid*)(offsetof(Vertex, normal)) );
}
if (shader.isActive(shader["vUV"])) {
glEnableVertexAttribArray(shader["vUV"]);
glVertexAttribPointer(shader["vUV"], 2, GL_FLOAT,
GL_FALSE, sizeof(Vertex), (const GLvoid*)(offsetof(Vertex, uv)) );
}
if (materials_.size()==1)
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, vboIndicesID_);
glBindVertexArray(0);
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER,0);
vaoHashContainer_.insert(context, vaoID_);
shader.unUse();
}
return vaoHashContainer_[context];
}