位置: 编程技术 - 正文
推荐整理分享OpenGl学习笔记4之通用的视图变换函数(glLoadIdentity,glMatrixMode)(opengl教程48讲),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:opengl使用教程,opengl基础知识,opengl使用教程,opengl示例,opengl入门视频教程,opengl基础教程,opengl基础知识,opengl基础教程,内容如对您有帮助,希望把文章链接给更多的朋友!
通用的变换函数
在介绍四种变换的具体使用方法时,先简单介绍下场景变换中用到的通用函数。
函数原型:
Void glLoadIdentity (void)
作用:把当前矩阵设置为单位矩阵,这个函数在每次场景变换之前都很重要,因为绝大多数变换都是把当前矩阵与我们指定的矩阵相乘,然后把结果再设置为当前矩阵(前面已经介绍过:我们的变换实质就是一个4*4的矩阵,不同的变换有不同的参数,我们只需要调用opengl的函数即可,不用直接操纵矩阵)。所以我们在变换之前,把当前矩阵清空成单位矩阵,否则当前矩阵中的参数是上一次变换留下来的(当前矩阵会一致保存上一次变换时的状态,这是由于opengl特有的状态机制导致的),说了这么多,大家就记住每次变换之前先调用这个函数,这是一个良好的习惯。
函数原型:
void glMatrixMode(GLenum mode)
作用:mode 指定哪一个矩阵堆栈是下一个矩阵操作的目标,可选: GL_MODELVIEW、GL_PROJECTION、GL_TEXTURE.
glMatrixMode设置当前矩阵模式:
GL_MODELVIEW,对模型视景矩阵堆栈应用随后的矩阵操作.
GL_PROJECTION,对投影矩阵应用随后的矩阵操作.
GL_TEXTURE,对纹理矩阵堆栈应用随后的矩阵操作.
说白了,就是我们在进行变换之前,要显式的告诉opengl,我们接下来要进行哪种变换(修改哪种矩阵)。不同的参数对应我们不同的变换。在默认情况下,该函数修改的矩阵式模型视图矩阵,并且默认情况下,这三个矩阵均为单位矩阵。
此函数与glLoadIdentity()一同使用,这两个函数一般情况下就是捆绑使用:进行变换时,先说明要对哪种矩阵操作。再清空矩阵。
OpenGL模型变换中局部坐标系和全局坐标系的理解 OpenGL中模型变换的指令主要有glTranslatef(),glRotatef()和glScale(),其中最常用的是前两个。程序初始化时,世界坐标系和模型坐标系重合,模型变换的目的
有关GLSL中的gl_FragCoord 有关GLSL中的gl_FragCoord在研究阴影映射的时候,我发现了一个很有意思的变量,它可以代替我们自己使用的varying变量,给我们带来方便。但是我们也需要
OpenGL ES 2.0教程:你的第一个三角形(1) MAYST,:PM前言正文准备工作发送CustomCommand结束语写在最后推荐阅读转载自:
标签: opengl教程48讲
本文链接地址:https://www.jiuchutong.com/biancheng/369541.html 转载请保留说明!友情链接: 武汉网站建设