Feng.Li's Java See

          抓緊時(shí)間,大步向前。
          隨筆 - 95, 文章 - 4, 評(píng)論 - 58, 引用 - 0
          數(shù)據(jù)加載中……

          OpenGL(1)

          6664dz1v2361.jpg?????
          其實(shí)寫(xiě)到這里,我很想放棄了。原因有三:
          1:C++實(shí)在是忘光了。
          2:MFC實(shí)在太龐大了。
          3:本來(lái)我就對(duì)圖形的東東沒(méi)有概念。
          ????? 不過(guò),不愿意認(rèn)輸?shù)奈?,繼續(xù)寫(xiě)點(diǎn)體會(huì),能學(xué)多少就多少吧,實(shí)在不行再放棄吧。

          ???????? 總結(jié)下NeHE(據(jù)說(shuō)是一個(gè)OpenGL的大宗師,他媽的,寫(xiě)的東西也能叫教程?但是實(shí)在是找不出他寫(xiě)的比誰(shuí)爛的教程,咬吧。)
          ????????? 跟著他的第一個(gè)代碼(整整400行,這也他媽的叫初始代碼?),基本上就明白,這些代碼是一個(gè)筐架,其中有2個(gè)東東比較重要,
          1:DC(Device Context),翻譯說(shuō)是設(shè)備管理表?個(gè)人認(rèn)為叫設(shè)備管理上下文吧,能好點(diǎn):)
          2RC(Rendering Context) 據(jù)說(shuō)這叫著色描述表。

          整個(gè)程序是一個(gè)空白的窗口骨架程序,其中有個(gè)關(guān)鍵方法:WndProc(),在調(diào)用CreateWindows()的時(shí)候被調(diào)用,這里寫(xiě)你繪制程序的代碼。

          OpenGl中,任何繪制的圖形都是以三角和四邊形作為基礎(chǔ)。

          OpenGL程序一般執(zhí)行流程:
          根據(jù)這個(gè)流程,我們可以歸納出在OpenGL中進(jìn)行主要的圖形操作直至在計(jì)算機(jī)屏幕上渲染繪制出三維圖形景觀(guān)的基本步驟:

            1)根據(jù)基本圖形單元建立景物模型,并且對(duì)所建立的模型進(jìn)行數(shù)學(xué)描述(OpenGL中把:點(diǎn)、線(xiàn)、多邊形、圖像和位圖都作為基本圖形單元)。

            2)把景物模型放在三維空間中的合適的位置,并且設(shè)置視點(diǎn)(viewpoint)以觀(guān)察所感興趣的景觀(guān)。

            3)計(jì)算模型中所有物體的色彩,其中的色彩根據(jù)應(yīng)用要求來(lái)確定,同時(shí)確定光照條件、紋理粘貼方式等。
            
            4)把景物模型的數(shù)學(xué)描述及其色彩信息轉(zhuǎn)換至計(jì)算機(jī)屏幕上的象素,這個(gè)過(guò)程也就是光柵化(rasterization)。


          posted on 2006-11-14 04:28 小鋒 閱讀(396) 評(píng)論(3)  編輯  收藏 所屬分類(lèi): C

          評(píng)論

          # re: OpenGL(1)  回復(fù)  更多評(píng)論   

          我也想學(xué)OpenGL,給點(diǎn)建議??!
          2006-11-15 18:15 | forever

          # re: OpenGL(1)  回復(fù)  更多評(píng)論   

          建議你不要學(xué)了,垃圾東西。掌握OpenGL有很多前提的C++,VC,MFC,你會(huì)這些就已經(jīng)是高手了。

          另外,據(jù)說(shuō)微軟的ActiveX很火暴,比OpenGL好,但是好象是抄襲OpenGL的。不明白你為什么要學(xué)這個(gè),如果用OpenGL來(lái)開(kāi)發(fā)GIS系統(tǒng),我感覺(jué)完全沒(méi)有必要,2維的GIS數(shù)據(jù)結(jié)構(gòu)已經(jīng)夠折磨你了,來(lái)個(gè)三維的GIS數(shù)據(jù)結(jié)構(gòu)?個(gè)人認(rèn)為1:沒(méi)有必要,浪費(fèi)青春。
          2:你覺(jué)得三維的GIS數(shù)據(jù)結(jié)構(gòu)你怎么實(shí)現(xiàn)?復(fù)雜的要死。比如:一個(gè)空間點(diǎn),現(xiàn)在他的坐標(biāo)不再是 X,Y.而是X,Y,Z,空間數(shù)據(jù)庫(kù)怎么存?還有,你分析的時(shí)候又多出一個(gè),Z坐標(biāo)怎么分析?

          但是你如果想做游戲開(kāi)發(fā),OpenGL應(yīng)該夠,不過(guò)我對(duì)游戲開(kāi)發(fā)這塊不懂,SO不能給你建議,你慢慢琢磨咯。。
          2006-11-15 19:05 | 小鋒

          # re: OpenGL(1)  回復(fù)  更多評(píng)論   

          我再看看吧 現(xiàn)在也不知道怎么辦呢 我最近也看了一些微軟的ActiveX和OpenGL的東西 現(xiàn)在確實(shí)是用ActiveX的更多 但我看好多論文都是說(shuō)用OpenGL實(shí)現(xiàn)的 想看看到底怎么弄的 呵呵
          2006-11-21 18:31 | forever

          只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 天镇县| 抚宁县| 宁德市| 日土县| 鄂温| 通城县| 康乐县| 密山市| 婺源县| 会泽县| 扶风县| 广德县| 沂南县| 内黄县| 南城县| 山西省| 金山区| 新巴尔虎右旗| 大新县| 金湖县| 洪洞县| 边坝县| 安远县| 邯郸县| 洞口县| 中牟县| 屏边| 兴国县| 平泉县| 博白县| 五家渠市| 永昌县| 通州市| 西林县| 沽源县| 宜兴市| 舒城县| 弋阳县| 康定县| 巫溪县| 涟源市|