OpenGL矩阵操作

OpenGL矩阵操作

ID:38581084

大小:91.50 KB

页数:12页

时间:2019-06-15

OpenGL矩阵操作_第1页
OpenGL矩阵操作_第2页
OpenGL矩阵操作_第3页
OpenGL矩阵操作_第4页
OpenGL矩阵操作_第5页
资源描述:

《OpenGL矩阵操作》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、OpenGL的矩阵变换操作方法一、借助OpenGL的矩阵堆栈,保存各个物体的矩阵变换火柴棍案例glMatrixMode(GL_PROJECTION);glMatrixMode(GL_MODELVIEW);将当前变换矩阵设置为模型视图变换矩阵。glPushMatrix,glPopMatrix—压入和弹出当前矩阵堆栈glGet(GL_MAX_MODELVIEW_STACK_DEPTH);glGet(GL_MAX_PROJECTION_STACK_DEPTH);来获取模型视图矩阵堆栈和投影矩阵堆栈的最大堆栈深度。一般情况下(在Wi

2、ndows平台上),模型视图的最大堆栈深度是32,而投影堆栈的最大深度是2。二、自己保存各个物体的空间变换矩阵floatM[4][4];//其中M[j,i]表示矩阵M的第j行,第i列的数据。floatM[16];//也可以创建一个一维数组无论是2维数组还是一维数组,都是按照列优先的顺序保存的。如图所示1.读取矩阵堆栈glGetFloatv(GL_MODELVIEW_MATRIX,M);glGetFloatv(GL_PROJECTION_MATRIX,M);2.设置矩阵堆栈,用于描画glLoadIdentity();//加载4

3、*4单位矩阵;glLoadMatrix{fd}(*m);//加载指定4*4矩阵m;glMultiMatrix{fd}(*m);//当前矩阵右乘*m;<图形变换>1.几何变换:平移、缩放、旋转2.齐次坐标:用n+1维向量表示n维向量,比如,(wx,wy,wz,w)表示(x,y,z)。通常,令w=1,用来进行复合几何变换。3.坐标变换:根据图形在一个坐标系下的坐标求其在另一坐标系下的坐标。4.3D空间通过投影,可以在2D屏幕上显示。同时,在投影面上定义一个窗口。只有窗口内的图形才显示。在屏幕上定义一个矩形视区,然后,从窗口到视区

4、进行一一映射。5.透视投影:空间任意一点的透视投影是投影中心与空间点构成的投影线和投影平面的交点。平行投影:投影方向于投影面垂直,为正投影,否则为斜投影。OpenGL的矩阵变换操作方法一、借助OpenGL的矩阵堆栈,保存各个物体的矩阵变换火柴棍案例glMatrixMode(GL_PROJECTION);glMatrixMode(GL_MODELVIEW);将当前变换矩阵设置为模型视图变换矩阵。glPushMatrix,glPopMatrix—压入和弹出当前矩阵堆栈glGet(GL_MAX_MODELVIEW_STACK_DE

5、PTH);glGet(GL_MAX_PROJECTION_STACK_DEPTH);来获取模型视图矩阵堆栈和投影矩阵堆栈的最大堆栈深度。一般情况下(在Windows平台上),模型视图的最大堆栈深度是32,而投影堆栈的最大深度是2。二、自己保存各个物体的空间变换矩阵floatM[4][4];//其中M[j,i]表示矩阵M的第j行,第i列的数据。floatM[16];//也可以创建一个一维数组无论是2维数组还是一维数组,都是按照列优先的顺序保存的。如图所示1.读取矩阵堆栈glGetFloatv(GL_MODELVIEW_MATR

6、IX,M);glGetFloatv(GL_PROJECTION_MATRIX,M);2.设置矩阵堆栈,用于描画glLoadIdentity();//加载4*4单位矩阵;glLoadMatrix{fd}(*m);//加载指定4*4矩阵m;glMultiMatrix{fd}(*m);//当前矩阵右乘*m;<图形变换>1.几何变换:平移、缩放、旋转2.齐次坐标:用n+1维向量表示n维向量,比如,(wx,wy,wz,w)表示(x,y,z)。通常,令w=1,用来进行复合几何变换。3.坐标变换:根据图形在一个坐标系下的坐标求其在另一坐标

7、系下的坐标。4.3D空间通过投影,可以在2D屏幕上显示。同时,在投影面上定义一个窗口。只有窗口内的图形才显示。在屏幕上定义一个矩形视区,然后,从窗口到视区进行一一映射。5.透视投影:空间任意一点的透视投影是投影中心与空间点构成的投影线和投影平面的交点。平行投影:投影方向于投影面垂直,为正投影,否则为斜投影。OpenGL的矩阵变换操作方法一、借助OpenGL的矩阵堆栈,保存各个物体的矩阵变换火柴棍案例glMatrixMode(GL_PROJECTION);glMatrixMode(GL_MODELVIEW);将当前变换矩阵设置

8、为模型视图变换矩阵。glPushMatrix,glPopMatrix—压入和弹出当前矩阵堆栈glGet(GL_MAX_MODELVIEW_STACK_DEPTH);glGet(GL_MAX_PROJECTION_STACK_DEPTH);来获取模型视图矩阵堆栈和投影矩阵堆栈的最大堆栈深度。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。