【渲染引擎】agg介紹

來源:互聯網
上載者:User

AGG是一款功能非常強大的渲染引擎。它使用標準的C++和基本的C函數實現,但是它並沒有使用C++裡的stl中的一些模版函數。因此AGG可以在很多場合下使用,甚至在一些端和嵌入式開發中也可以使用。AGG也可以用在web服務端,你可以在服務端渲染出一個圖片返回給用戶端,AGG支援各種格式的資料,具有很好的跨平台性。
AGG的設計理念也是基於外掛程式式的開發模式,所以在AGG的使用中,你可以使用任何其他第三方庫。比如字型你可以使用FreeType字型或者window下提供的字型;對於顏色庫你也可添加進你需要的第三方庫。
agg是一個非常複雜的組建,在agg將它具有的所有功能按照層次進行了劃分,劃分成了很多層次。這樣使用者可以使用全部層次的功能,也可以只使用其中幾個功能,甚至使用者可以對其中的功能進行自訂的開發。具體的層次如下:

其中每個層次的意義: vertex source: 頂點源,任意映像都是由一個個點構成的; cordinate conversion pipeline: 座標轉換管道; scanline rasterizer: 光柵化,把頂點資料處理合成一組組線; renderers: 渲染器; rendering buffer: 用於存放像素點的記憶體

在這裡主要說一下渲染器renderers,對於渲染器來說,其是把已經光柵化好的資料輸出到渲染記憶體中。對於光柵化好的資料來說,其只是一些點、線和面的幾何資料,沒有任何的顏色透明度等資訊,這些資訊就是渲染層進程補充的。
對於渲染層來說,其分為三層:
其中底層負責像素封裝,由PixelFormat Renderer實現;中層是基礎層,在PixelFormat Renderer的基礎上提供更多方法,是所有高層渲染器依賴的基礎,由Base Renderer實現;高層負責渲染Scanline中的線段,由Scanline Renderer等實現。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.