1、glMatrixMode(); 参数有三个:GL_PROJECTION 投影, GL_MODELVIEW 模型视图, GL_TEXTURE 纹理.
即表示:接下来要对投影/模型视图/纹理进行操作
2、glLoadIdentity(); 将当前矩阵变为单位矩阵,无需参数
3、glFrustum(GLdouble left, GLdouble Right, GLdouble bottom, GLdouble top, GLdouble near, GLdouble far);
参考博客:https://blog.csdn.net/peng6662001/article/details/7082436
创建一个透视型的视景体。
4、gluPerspective(GLdouble fovy,GLdouble aspect,GLdouble zNear, GLdouble zFar);
参考博客同上
创建一个对称的透视型视景体
5、glOrtho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near, GLdouble far) ;
参考博客同上
它创建一个平行视景体(就是一个长方体空间区域)。如果绘制的图形空间本身就是二维的,可以使用gluOrtho2D。他的使用类似于glOrgho。
6、glViewport(); 原型为:glViewport(GLint x,GLint y,GLsizei width,GLsizei height);
参考博客:https://www.cnblogs.com/Destiny-jxj/p/6388517.html
7、glutSolidSphere
glutSolidSphere是GLUT工具包中的一个函数,该函数用于渲染一个球体。球体球心位于
原点。在OpenGL中默认的原点就是窗口客户区的中心。
8、glTranslate()、glRotate() glTranslate()是移动坐标系,比如glTranslate(-1.5,0,0),之后你画的图就是在屏幕左边1.5个单位。glRotation()是做旋转的,第一个参量是angle,后面3个分别是想,x,y,z,轴,比如glRotation(3,0,1,0)就是绕着Y轴向左旋转3。
9、void gluLookAt(GLdouble eyex,GLdouble eyey,GLdouble eyez,GLdouble centerx,GLdouble centery,GLdouble centerz,GLdouble upx,GLdouble upy,GLdouble upz); 该函数定义一个视图矩阵,并与当前矩阵相乘。
第一组eyex, eyey,eyez 相机在世界坐标的位置
第二组centerx,centery,centerz 相机镜头对准的物体在世界坐标的位置
第三组upx,upy,upz 相机向上的方向在世界坐标中的方向
你把相机想象成为你自己的脑袋:
第一组数据就是脑袋的位置
第二组数据就是眼睛看的物体的位置
第三组就是头顶朝向的方向(因为你可以歪着头看同一个物体)。
如果并没有调用gluLookAt(),那么照相机就被设置为默认的位置和方向。在默认情况下,照相机位于原点,指向z轴的负方向,朝上向量为(0,1,0)。