OpenGL系統設計-1.2 OpenGL架構

來源:互聯網
上載者:User

 

1.2        OpenGL架構

OpenGL支援多個平台,包括Windows、Liunx、MacOS、Unix。如果應用程式沒有大量使用作業系統相關的調用,那麼在不同的平台之間移植OpenGL程式會相當簡單。由於Windows在案頭作業系統中佔了絕對優勢,因此在Winodows下開發OpenGL的應用程式還是我們的第一選擇。

在Windows應用程式中,OpenGL的實現和GDI、DirectX都不同,GDI是通過顯示裝置介面Display Device Interface經過顯卡驅動程式和顯卡硬體互動。DirectX則繞過驅動程式,直接通過硬體抽象層或硬體模擬層同硬體打交道。OpenGL則通過一個3D裝置驅動介面3DDI,再通過顯卡廠商提供的驅動程式對硬體進行訪問,1-1所示。

 

 

 

圖1-1  三種圖形介面在Windows上的實現

 

由於OpenGL是3D圖形的底層圖形庫,沒有提供幾何實體圖元,不能直接用以描述渲染情境。一個典型的OpenGL應用程式在螢幕上顯示圖形的主要步驟如下:

 

構造幾何要素(點、線、面、多邊形、位元影像等),建立對象的數學描述;

在3D空間中放置對象,並選擇適當的觀察點;

將對象的數學描述和顏色資訊轉換為螢幕上的像素;

對像素或對象資料進行紋理映射後進行光柵化;

針對光柵化後的對象片元進行操作,送到幀緩衝中;

在螢幕顯示圖形。

 

圖1-2是OpenGL渲染的整個流程,其中的一些概念將在後續的章節中詳細說明。

 

 

 

 

 

圖1-2 OpenGL渲染流程

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.