gpt4 book ai didi

c - opengl glDrawElements 问题

转载 作者:太空宇宙 更新时间:2023-11-04 05:52:31 25 4
gpt4 key购买 nike

嗯,很确定问题很简单,但我没有看到问题,调试器也没有帮助我。无论如何,我正在尝试绘制一架飞机,但我得到的只是黑色。老实说,我不确定它是否在绘制它,但它太小了,看不到。

int index[][3] = {{0,1,4}, {0,3,4}, {1,2,5}, {1,4,5}};
double VertexA[][3] = {{0.0 , 0.0 , -.0415}, {0.5, 0.0, .6543}, {1.0,0,-.0415},
{0.0, 0.5, .093}, {0.5, 0.5, -.070}, {1.0, 0.5 , .093},
{0.0,1.0, -.0415}, {0.5, 1.0, .6543}, {1.0,1.0,-.0415}}

void display() {
glClear(GL_COLOR_BUFFER_BIT);
glLoadIdentity();
glEnableClientState(GL_VERTEX_ARRAY);
glVertexPointer(3, GL_DOUBLE, 24, VertexA);
glDrawElements(GL_TRIANGLES, 4, GL_UNSIGNED_INT, index);
glDisableClientState(GL_VERTEX_ARRAY);
glutSwapBuffers();
}
void reshape(int w, int h) {
if (w <= h) {
glViewport(0,(h-w)/2, w,w);
}
else {
glViewport((w-h)/2,0,h,h);
}
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(30.0, w/h, 10.0, 100.0);
glMatrixMode(GL_MODELVIEW);

}

这是我使用定义的 VertexA/Index 数组修改的代码片段。我很确定索引/vertexArray 是正确获取的,它是绘图的一部分,是我遇到问题的地方。我猜我滥用了 glDrawElement 或 gluPerspective。老实说,我不确定。我需要一个 ColorArray 吗?如果我一开始不定义颜色,它应该是白色的,对吗?任何问题或者你想要更多的片段都可以问,但我觉得问题在片段中。

最佳答案

您的对象完全不在视锥体范围内。您正在使用单位矩阵作为 ModelView,并将 gluPrespectivenear=10far=100 作为投影。结果, View 体积将从 z=-10 到 z=-100,而您的对象位于 z=-0.1 到 z=0.1,因此它们被近平面裁剪。

关于c - opengl glDrawElements 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36388899/

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