
?????
其實寫到這里,我很想放棄了。原因有三:
1:C++實在是忘光了。
2:MFC實在太龐大了。
3:本來我就對圖形的東東沒有概念。
????? 不過,不愿意認輸的我,繼續寫點體會,能學多少就多少吧,實在不行再放棄吧。
???????? 總結下NeHE(據說是一個OpenGL的大宗師,他媽的,寫的東西也能叫教程?但是實在是找不出他寫的比誰爛的教程,咬吧。)
????????? 跟著他的第一個代碼(整整400行,這也他媽的叫初始代碼?),基本上就明白,這些代碼是一個筐架,其中有2個東東比較重要,
1:DC(
Device Context),翻譯說是設備管理表?個人認為叫設備管理上下文吧,能好點:)
2RC(
Rendering Context) 據說這叫著色描述表。
整個程序是一個空白的窗口骨架程序,其中有個關鍵方法:WndProc(),在調用CreateWindows()的時候被調用,這里寫你繪制程序的代碼。
OpenGl中,任何繪制的圖形都是以三角和四邊形作為基礎。
OpenGL程序一般執行流程:
根據這個流程,我們可以歸納出在OpenGL中進行主要的圖形操作直至在計算機屏幕上渲染繪制出三維圖形景觀的基本步驟:
1)根據基本圖形單元建立景物模型,并且對所建立的模型進行數學描述(OpenGL中把:點、線、多邊形、圖像和位圖都作為基本圖形單元)。
2)把景物模型放在三維空間中的合適的位置,并且設置視點(viewpoint)以觀察所感興趣的景觀。
3)計算模型中所有物體的色彩,其中的色彩根據應用要求來確定,同時確定光照條件、紋理粘貼方式等。
4)把景物模型的數學描述及其色彩信息轉換至計算機屏幕上的象素,這個過程也就是光柵化(rasterization)。