是否可以在一个程序中同时使用新旧 OpenGL?假设我已经理解了差异。
在我的程序中,我使用过:
WGL_CONTEXT_MAJOR_VERSION_ARB, 3,
WGL_CONTEXT_MINOR_VERSION_ARB, 2,
但例如,我可以使用包含此的函数来绘制网格吗:(旧)
glBegin(GL_LINES);
glVertex3f(-50, 0, (GLfloat)x);
glVertex3f( 50, 0, (GLfloat)x);
glVertex3f((GLfloat)x, 0, -50);
glVertex3f((GLfloat)x, 0, 50);
glEnd();
还有一个像这样的函数,用于纹理和渲染一些东西:(新)
glUseProgram(myShader->handle());
glBindTexture(GL_TEXTURE_2D, texName);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glBindVertexArray(m_vaoID[0]); //select first VAO
glDrawArrays(GL_TRIANGLES, 0, 6); //draw two triangles
glDisable(GL_BLEND);
glUseProgram(0);
glBindVertexArray(0);
还是使用使用vao
/的较新版本会使vbo
包含glBegin
/的函数glEnd
过时?
我希望这是有道理的。请原谅天真。