Mac上的LWJGL黑屏

时间:2014-02-08 02:21:24

标签: java macos opengl glsl lwjgl

我无法使用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问题,或者我没有正确设置。

如果你需要我发布我的顶点和片段着色器或任何其他代码片段,我很乐意把它们放好。

0 个答案:

没有答案