C++ opengl 对OpenGL中矩阵设置的初步认识
對OpenGL中矩陣設(shè)置的初步認(rèn)識:
在入門級的代碼里面,通常在初始化OpenGL中可以看到這樣的代碼:
此處暫時只做初步認(rèn)識,不做深入理解!
投影矩陣:
1.人的眼睛或者攝像機:看到的東西投影到攝像機上面(或者理解為視網(wǎng)膜上)就可以看到東西了;
2.投影:把3D空間里面的東西,變成2D的,顯示到屏幕上的;
3.在視角里面,其實有近平面和遠(yuǎn)平面,也就是OpenGL里面,可以看到的,最近和最遠(yuǎn)的距離。在視野里面看到的東西都會投影到近平面里面;
4.在現(xiàn)實生活中視野都是像金字塔那種形狀的,但在計算機中,他是正方體(但在OpenGL里面會有特定的算法,顯示的時候和現(xiàn)實差不多的,用OpenGL就是以攝像機的形式來編程的)
暫時可以這樣理解這些代碼(非權(quán)威)
1.投影矩陣的作用就是為了把所描繪的物體投影到我們的視網(wǎng)膜上面;
2.模型視圖矩陣就是為了放物體的!!!!
解釋下上面的代碼:
1.glMatrixMode(GL_PROJECTION)是設(shè)置當(dāng)前的矩陣為投影矩陣;
2.gluPerspective是為當(dāng)前的矩陣賦值,因為上一步設(shè)置當(dāng)前矩陣為投影矩陣了,所以gluPerspective相當(dāng)于為投影矩陣賦值;
3.設(shè)置模型視口矩陣模型視口矩陣的操作跟設(shè)置投影矩陣是一樣的思路。glMatrixMode(GL_MODELVIEW)是設(shè)置當(dāng)前的矩陣為模型視口矩;
4.glLoadIdentity是為當(dāng)前的矩陣賦值,因為上一步設(shè)置當(dāng)前矩陣為模型視口矩陣了,所以glLoadIdentity相當(dāng)于為模型視口矩陣賦值。
因為新建一個OpenGL渲染RC后,里面的矩陣是未知的,所以要設(shè)置。繪制模型的時候,投影矩陣和模型視口矩陣是一定會參與運算的。
總結(jié)
以上是生活随笔為你收集整理的C++ opengl 对OpenGL中矩阵设置的初步认识的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 系统架构师学习笔记-操作系统(二)
- 下一篇: C++工作笔记-枚举类型的作用