compileProgram在OpenGL

时间:2016-02-04 11:31:56

标签: qt opengl pyqt pyopengl

我正在开发一个由两个QtOpenGL小部件组成的应用程序(两个都设置在两个不同的MainWindow中)。在我的initializeGL()函数中,我写道:

第一个GL小部件的

vertexShader = shaders.compileShader(vertex, GL_VERTEX_SHADER)
fragmentShader = shaders.compileShader(fragment1, GL_FRAGMENT_SHADER)
program = shaders.compileProgram(vertexShader, fragmentShader)

和第二个:

vertexShader = shaders.compileShader(vertex, GL_VERTEX_SHADER)
fragmentShader = shaders.compileShader(fragment2, GL_FRAGMENT_SHADER)
program = shaders.compileProgram(vertexShader, fragmentShader)

但他们最终都得到了相同的“程序”价值,为什么?

1 个答案:

答案 0 :(得分:2)

两个QtOpenGL小部件中的每一个都有自己的上下文。由于程序ID在其上下文中仅是唯一的,因此在此处获取相同的ID非常好。

相关问题