gpt4 book ai didi

java - 将 glArrayElement 与 LWJGL 结合使用

转载 作者:行者123 更新时间:2023-12-01 14:38:13 27 4
gpt4 key购买 nike

我正在跟随找到的 OpenGL 教程 here 。我现在正在阅读第 2 章,它将介绍使用 glArrayElement 渲染对象的优点。目前,我的代码如下:

glEnableClientState(GL_VERTEX_ARRAY);
glEnableClientState(GL_COLOR_ARRAY);

double vertices[] = {100, 200, 0, 200, 100, 0, 100, 100, 0};
double colors[] = {1, .5, .8, .3, .5, .8, .3, .5, .8};


DoubleBuffer vertexBuffer = BufferUtils.createDoubleBuffer(9).put(vertices);
DoubleBuffer colorBuffer = BufferUtils.createDoubleBuffer(9).put(colors);

glVertexPointer(3, 0, vertexBuffer);
glColorPointer(3, 0, colorBuffer);

while(!Display.isCloseRequested()) {

glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glBegin(GL_TRIANGLES);
glArrayElement(0);
glArrayElement(1);
glArrayElement(2);
glVertex3d(300, 200, 0);
glVertex3d(400, 100, 0);
glVertex3d(300, 100, 0);
glEnd();

//Display.sync(60);
Display.update();
}

通过调用 glVertex3d 显式定义的第二个三角形渲染得很好。但是第一个三角形根本不渲染。我犯了一个简单的错误吗?

最佳答案

在寻找更多示例代码时,我遇到了一个片段,其中表示您必须“翻转每个缓冲区”。添加

vertexBuffer.flip();
colorBuffer.flip();

就在 while 循环解决我的问题之前!

关于java - 将 glArrayElement 与 LWJGL 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16270654/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com