我如何实际宣布gluPerspective?
我的意思是我正在画一个螺旋线,我在开始时设置z = -50并循环直到圆圈完成。那么gluPerspective的声明是什么?
答案 0 :(得分:2)
要在源文件的顶部某处使用gluPerspective
:
#include <GL/glu.h>
然后您可以毫无问题地使用gluPerspective
。
答案 1 :(得分:0)
我不确定你的意思。gluPerspective()
通常在程序启动时使用一次,然后每当调整窗口大小时,定义基元投影到屏幕的方式。
你这样做:
glMatrixMode(GL_PROJECTION); // Select The Projection Matrix
glLoadIdentity(); // Reset The Projection Matrix
gluPerspective(60,screenWidth/screenHeight,0.1,1000);
答案 2 :(得分:0)
我强烈建议您查看官方OpenGL红皮书第3章Viewing。在那里你会找到一个很好的透视投影介绍。
评论后编辑:
如果你仔细阅读这一章,你会读到这个:
您可以通过多种方式制作观看转换,如下所述。您还可以选择使用视点的默认位置和方向,其中位于原点,俯视负z轴。
和
void gluPerspective(GLdouble fovy,GLdouble aspect,GLdouble near,GLdouble far);
创建对称透视视锥体的矩阵,并将当前矩阵乘以它。 fovy是x-z平面中视场的角度;其值必须在[0.0,180.0]范围内。 aspect是平截头体的纵横比,其宽度除以其高度。 near和far值视点与剪裁平面之间的距离,沿负z轴。他们应该永远是积极的。