我无法使用LWJGL 2.9.1在Mac OSX Mavericks的屏幕上绘制任何内容。我创建了一个使用OpenGL版本3.3的窗口,我试图使用#version 330作为我的着色器。我得到的只是黑屏。
我正在使用vbo和ibo绘制内容:
public void draw()
{
glEnableVertexAttribArray(0);
glEnableVertexAttribArray(1);
glEnableVertexAttribArray(2);
glBindBuffer(GL_ARRAY_BUFFER, vbo);
glVertexAttribPointer(0, 3, GL_FLOAT, false, 8 * 4, 0);
glVertexAttribPointer(1, 2, GL_FLOAT, false, 8 * 4, 12);
glVertexAttribPointer(2, 3, GL_FLOAT, false, 8 * 4, 20);
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, ibo);
glDrawElements(GL_TRIANGLES, indices.length, GL_UNSIGNED_INT, 0);
glDisableVertexAttribArray(0);
glDisableVertexAttribArray(1);
glDisableVertexAttribArray(2);
}
此方法在每个渲染周期调用,其中vbo包含顶点数组,ibo包含索引数组,顶点属性0,1和2分别是position,texCoord和normal。但是,我不知道这会有多大帮助,因为这只是我代码的一小部分。
主要问题是我的黑屏并不知道为什么。我没有错误,我确实设置了使用OpenGL 3.3版的上下文。令我困惑的是,完全相同的代码在Windows 7上完全正常工作,在同一台计算机上,我正在绘制的网格在屏幕上显示正常预期。它必须是Mac问题,或者我没有正确设置。
如果你需要我发布我的顶点和片段着色器或任何其他代码片段,我很乐意把它们放好。