0

我无法在不是由 glut 创建的 OpenGL 上下文中使用 GLTools 库存着色器。

我正在从 Superbible 第 5 版学习 OpenGL。提供的GLShaderManagergltMakeCube(来自 GLTools)允许我GLBatch::Draw()使用 Superbible 中的以下代码在 glut 创建的窗口中渲染一些立方体():

gltSetWorkingDirectory(values[0]);

glutInit(&count, values);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
glutInitWindowSize(1200, 400);

glutCreateWindow("Test");

我正在尝试从该程序中删除过剩代码,按照此处的示例http://www.opengl.org/wiki/Programming_OpenGL_in_Linux:_Programming_Animations_with_GLX_and_Xlib创建一个窗口并为其附加上下文。(我正在运行 Ubuntu)

我设法创建了一个窗口和一个上下文,并成功调用 glClearColor 来更改窗口的背景颜色。但是,我的立方体不再被绘制。上面链接的示例程序可以正常工作,但它似乎没有使用着色器,而是依赖于调用glColor3fglVertex3f构建立方体。

为什么我使用 GLTools 的股票着色器进行渲染的技术不能在不是由 glut 创建的窗口/上下文中工作?

4

0 回答 0