gpt4 book ai didi

c++ - glDrawElements 只绘制半个四边形

转载 作者:太空狗 更新时间:2023-10-29 20:15:25 25 4
gpt4 key购买 nike

这是我的功能:

void Object::draw2()
{

if(!mIsInitialised) { return; }

//Tell OpenGL about our vertex and normal data
glEnableClientState(GL_VERTEX_ARRAY);
glVertexPointer(3, GL_FLOAT, 0, &Vertices.front());

glEnableClientState(GL_NORMAL_ARRAY);
glNormalPointer(GL_FLOAT, 0, &Temp2.front());

//draw the .txt-file
glDrawElements(GL_TRIANGLES, Indices.size(), GL_UNSIGNED_INT, &Indices.front());

//restore the state GL back
glDisableClientState(GL_VERTEX_ARRAY);
glDisableClientState(GL_NORMAL_ARRAY);
}

我的索引 vector 包含:1 2 3 1 3 4

我的顶点 vector 包含:-1 -1 0 1 -1 0 1 1 0-1 1 0

当我运行程序时,它只绘制了半个四边形 - 即三角形。

结果 -> http://i.stack.imgur.com/jZALG.png

最佳答案

您的索引 vector 应包含:

0 1 2 0 2 3

否则,您永远不会触及顶点编号 0 并以四边形的一半结束。

关于c++ - glDrawElements 只绘制半个四边形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13298143/

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