gpt4 book ai didi

OpenGL:glDrawElements 不绘制

转载 作者:行者123 更新时间:2023-12-04 16:54:33 24 4
gpt4 key购买 nike

我正在尝试 Vertex Arrays 的东西,但由于某种原因 glDrawElements 命令没有为我绘制任何东西。我可以使用 glBegin/glEnd 和 glDrawElements 进行绘制,但 glDrawElements 不起作用。这是一个代码片段:

这些数组在构造函数中设置:

double points[100];
GLint indices[50];

for (int i=0; i < 50; i++){
points[2*i] = radius * cos(i*2*PI/50);
points[2*i + 1] = radius * sin(i*2*PI/50);
indices[i] = i;
}

仅使用带有 glArrayElement 的点数组的工作代码:
void GLCircle::draw()
{
glEnableClientState(GL_VERTEX_ARRAY);
glVertexPointer(2, GL_DOUBLE, 0, points);

glBegin(GL_POLYGON);
for (int i=0; i < 50; i++){
glArrayElement(i);
}
glEnd();
}

还有工作代码,使用点数组,通过索引数组访问的特定索引:
void GLCircle::draw()
{
glEnableClientState(GL_VERTEX_ARRAY);
glVertexPointer(2, GL_DOUBLE, 0, points);

glBegin(GL_POLYGON);
for (int i=0; i < 50; i++){
glArrayElement(indices[i]);
}
glEnd();
}

非工作代码,尝试使用 glDrawElements:
void GLCircle::draw()
{
glEnableClientState(GL_VERTEX_ARRAY);
glVertexPointer(2, GL_DOUBLE, 0, points);

glDrawElements(GL_POLYGON, 4, GL_INT, indices);
}

有什么建议吗?我现在并不是完全有必要使用它,但令人不安的是它不起作用......

最佳答案

glDrawElements的第二个参数是 count ,所以不应该 4是指数的数量( 50 )?

关于OpenGL:glDrawElements 不绘制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11489096/

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