glLoadIdentity
计算机函数名
glLoadIdentity是一个计算机函数名,功能是重置当前指定的矩阵单位矩阵.在语义上,其等同于用单位矩阵调用glLoadMatrix。
相关解释
The glLoadIdentity function replaces the current matrix with the identity matrix.
错误解释:将当前的用户坐标系的原点移到了屏幕中心:类似于一个复位操作
正确解释:glLoadIdentity该函数的功能是重置当前指定的矩阵为单位矩阵.
函数原型:void glLoadIdentity( void);
Remarks(备注:)The glLoadIdentity function replaces the current matrix with the identity matrix. It is semantically equivalent to calling glLoadMatrix with the identity matrix
but in some cases it is more efficient.
但是,在一些情况下,glLoadIdentity更加效率。
The following functions retrieve information related to glLoadIdentity:
下面是一些与glLoadIdentity相关的函数信息:
glGet with argument GL_MATRIX_MODE
glGet with argument GL_MODELVIEW_MATRIX
glGet with argument GL_PROJECTION_MATRIX
glGet with argument GL_TEXTURE_MATRIX
Error Codes(错误代码):
The following is the error code and its condition.
本质概念理解
(1).加载glLoadIdentity(),等于是将之前矩阵变换导致变化过的栈顶矩阵重新归位,置为单位矩阵!等于是之前的矩阵变换带来的影响到此为止了!
(2).产生顶点的语句,比如glutWireBox、glutSolidSphere等等,它们最终要与栈顶矩阵计算算出最终的顶点位置。但它们本身不会影响栈顶矩阵的值!
(3).任何一个模型、视图变换,如translate、scale、lookAt等,计算后都会影响当前栈顶矩阵的值!若每次变换完毕后不去归位(glLoadIdentity),则下一次的顶点变换是建立在上一轮(一系列)变换的基础之上的!
(4).根据矩阵变换本质的理解,glLoadIdentity并不是简单的理解为将坐标归为世界坐标的原点。而是每次建立顶点的时候,都是以当前物体的中心作为世界的原点的(换句话说,也就是上一轮物体变换之后,原点的位置作为新的物体的中心)。之后再进行各种变换而形成物体的移动、缩放、旋转等效果。从本质上讲,glLoadIdentity并不会改变世界坐标的原点位置,而仅仅是让“栈顶矩阵归位”。但它导致了下一轮顶点变换时,感觉上是以新的物体中心为世界原点的效果!
参考资料
最新修订时间:2024-03-02 12:28
目录
概述
相关解释
参考资料