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