gpt4 book ai didi

c - 设置 3D OpenGL 透视投影的最简单方法

转载 作者:太空宇宙 更新时间:2023-11-04 02:13:42 26 4
gpt4 key购买 nike

有很多教程都建议将 gluPerspectiveglFrustum 与其他东西结合使用,但我在设置正确的矩阵时遇到了困难。我需要什么代码来设置俯视 +z 轴的 45˚ 透视图?

到目前为止我有:

glShadeModel(GL_SMOOTH);
glClearColor(0,0,0,0);
glClearDepth(1);
glDepthFunc(GL_LEQUAL);
glViewport(0,0,width,height);
glEnable(GL_DEPTH_TEST);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(45,1,0.1,100);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();

但这似乎行不通。当我尝试绘制东西时,我得到的只是黑屏。

编辑:这是最小的绘图代码:

glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
glColor3ub(255,255,255);
glBegin(GL_TRIANGLE_STRIP);
glVertex3f(20,20,20);
glVertex3f(20,30,20);
glVertex3f(30,20,20);
glVertex3f(30,30,20);
glEnd();

最佳答案

Things such as points on (1,1,1) and (2,50,23). They do not appear.

那么这就是你的问题。默认的 OpenGL 相机的 +Z 轴指向相机。由于相机位于 Z=0,因此 Z 位置 >0 的任何位置都在相机后面。

将您的点移到相机前面。他们至少需要有一个 -Z 位置。

关于c - 设置 3D OpenGL 透视投影的最简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10360217/

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