基于OpenGL的三維曲面數據場動態顯示.doc_第1頁
基于OpenGL的三維曲面數據場動態顯示.doc_第2頁
基于OpenGL的三維曲面數據場動態顯示.doc_第3頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

基于OpenGL的三維曲面數據場動態顯示2007-08-20 08:53作者:白婷 趙軍 朱雙華等出處:計算機與信息技術責任編輯:方舟摘 要 在大數據量條件下,實時動態顯示三維曲面較困難,其關鍵在于提高三維圖形數據處理和圖形繪制速度。通過對基于圖形工業標準OpenGL實現三維曲面動態顯示的原理和方法的討論,提出采用OpenGL的雙緩存、顯示列表技術,大幅度提高了圖形數據處理和刷新速度,保證了每幀數據圖形繪制的連續性和完整性,成功實現了三維曲面數據場實時動態顯示。關鍵詞 OpenGL 三維曲面 動態顯示引言在某三維數據場中,數據隨時間的變化而發生變化,為直觀觀察數據隨時間變化的態勢,需對數據場的變化實時動態顯示。利用網格曲面顯示三維數據場是一種直觀的方法,但需經過數據插值、投影、曲面拼接、消隱等處理后方可繪制圖形,計算量較大。在數據量較大的情況下,實時動態顯示三維曲面圖形較困難,其關鍵在于提高每幀圖形處理和繪制刷新速度,以保證每幀三維曲面顯示時的連貫性和完整性。OpenGL是性能卓越的圖形處理工具,采用OpenGL雙緩存和繪圖操作予編譯技術,較好解決了三維圖形數據處理和繪圖刷新速度問題。利用Visual C+調用OpenGL的三維圖形編程接口成功實現了大數據量的三維曲面圖形的實時動態顯示?;贠penGL的三維曲面動態顯示原理1、基于OpenGL三維曲面圖形顯示原理OpenGL是獨立于操作系統的開放式三維圖形軟件接口。其主要功能是將三維曲面通過頂點序列或像素點進行描述,并進行相應的透視、光照、紋理操作,最終轉換成幀緩存中的圖像數據,利用該圖像數據進行三維曲面圖形的著色。三維曲面圖形顯示歸納為以下幾個步驟:(1)在三維場景中建立曲面繪制的模型。選用插值方法、參數曲面函數,計算曲面控制點,進行曲面重構;(2)設置視點和透視方式;(3)進行消隱、光照、紋理、明暗處理;(4)繪制場景,輸出到屏幕窗口。圖1 三維曲面圖形顯示基本流程2、利用雙緩存實現動態顯示原理三維曲面動態顯示需要連續地繪制三維曲面并顯示場景,用不同的曲面數據刷新屏幕視窗。在OpenGL中利用雙緩存技術,分配兩個幀緩存區,在連續顯示三維曲面時,一個幀緩沖區中的數據執行繪制曲面命令的同時,另一個幀緩存區中的數據進行圖形顯示。當前可見視頻緩存稱為前臺視頻緩存,不可見的正在繪圖的視頻緩存稱為后臺視頻緩存。當后臺視頻緩存中的數據要求顯示時,OpenGL就將它拷貝至前臺視頻緩存,顯示硬件不斷地讀可見視頻緩存中的內容,并把結果顯示在屏幕上。應用雙緩存,每一幀三維曲面只在繪制完成之后才顯示出來,所以觀察者可以看到每一幀完整三維曲面,而不是曲面的繪制過程。使用雙緩存實現三維曲面動態顯示的步驟如下:(1)設置OpenGL窗口顯示屬性為雙緩存機制:auxInitDisplayMode(AUX_DOUBLE|AUX_RGBA);(2)利用OpenGL基本繪圖命令繪制三維曲面;(3)一幀曲面繪圖結束后緩存拷貝,切換緩存:auxSwapBuffers();SwapBuffers(wglGetCurrentDC();3、利用顯示列表提高程序運行效率顯示列表是一組預先存儲起來留待以后調用的函數語句。調用顯示列表時就按次序執行其中的函數。顯示列表將反復執行的繪圖操作以編譯好的命令方式進行存儲,設計成命令的高速緩存,而不是動態的數據庫緩存,所以可以優化程序運行性能。實現和調用顯示列表的方法:(1)創建列表:void glNewList(Gluint list,Glenm mode);void glBegin(Glenum

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論