glOrtho()函数 平行投影:
参数 void glOrtho(GLdouble left,GLdouble right,GLdouble bottom,GLdouble top,GLdouble near,GLdouble far);
glFrustum()函数 透视投影:参数同上
在使用前先调用 glMatrixMode(GL_PROJECTION);
并且要使用gluLookAt()设置 摄像机方向
转载自:https://www.cnblogs.com/kekec/archive/2010/08/04/1792507.html
视点变换和模型变换
在OpenGL中,视点变换和模型变换被当做一种变换来看待。改变视点的位置和改变模型的位置是一个相对的过程,例如将物体从(0.0, 0.0, 0.0)移至(0.0, 0.0, -1.0)相当于将相机从(0.0, 0.0, 0.0)移至(0.0, 0.0, 1.0)。视点变换、模型变换将被合并,形成模型视点矩阵。可以使用函数glMatrixMode(GL_MODELVIEW)来指定当前矩阵模式为模型视点变换。在代码中,视点变换在模型变换之前指定,但投影变换和视口变换可以在绘图之前的任意时候指定。
一些建议:
(1)视点变换采用gluLookAt来改变相机的位置,朝向以及向上方向。
(2)模型变换使用glTranslate, glRotate, glScale来进行平移,旋转,缩放反射,从而改变物体在场景中位置。
void glRotatef( GLfloat angle, GLfloat x, GLfloat y, GLfloat z )
angle的方向与向量v(x,y,z)符合右手法则,如下图(一个三棱锥围绕y轴旋转90°):