glLoadIdentity

glLoadIdentity

glLoadIdentity是一個計算機函式名,功能是重置當前指定的矩陣為單位矩陣.在語義上,其等同於用單位矩陣調用glLoadMatrix。

基本介紹

  • 外文名:glLoadIdentity
  • 正確解釋:類似於一個復位操作
  • 函式原型:void glLoadIdentity( void)
  • 屬於:glLoadIdentity更加效率
相關解釋,本質概念理解,

相關解釋

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.
GL_INVALID_OPERATION
glLoadIdentity was called between a call to glBegin and the corresponding call to glEnd.

本質概念理解

1).載入glLoadIdentity(),等於是將之前矩陣變換導致變化過的棧頂矩陣重新歸位,置為單位矩陣!等於是之前的矩陣變換帶來的影響到此為止了!
2).產生頂點的語句,比如glutWireBox、glutSolidSphere等等,它們最終要與棧頂矩陣計算算出最終的頂點位置。但它們本身不會影響棧頂矩陣的值!
3).任何一個模型、視圖變換,如translate、scale、lookAt等,計算後都會影響當前棧頂矩陣的值!若每次變換完畢後不去歸位(glLoadIdentity),則下一次的頂點變換是建立在上一輪(一系列)變換的基礎之上的!
4).根據矩陣變換本質的理解,glLoadIdentity並不是簡單的理解為將坐標歸為世界坐標的原點。而是每次建立頂點的時候,都是以當前物體的中心作為世界的原點的(換句話說,也就是上一輪物體變換之後,原點的位置作為新的物體的中心)。之後再進行各種變換而形成物體的移動、縮放、旋轉等效果。從本質上講,glLoadIdentity並不會改變世界坐標的原點位置,而僅僅是讓“棧頂矩陣歸位”。但它導致了下一輪頂點變換時,感覺上是以新的物體中心為世界原點的效果!

相關詞條

熱門詞條

聯絡我們