摘要: 基于OpenGL ES的壓縮紋理有常見的如下幾種實現:
1. ETC1(Ericcson texture compression)
2. PVRTC(PowerVR texture compression)
3. ATITC(ATI texture compression)
對于集成了NVIDIA Tegra2的手機如Motorola XOOM,ATRIX和DRIOID BIONIC則支持如下的紋理壓縮
4. S3TC(S3 texture compression)
閱讀全文
摘要: Linux環境下編譯Irrlicht引擎的注意事項
閱讀全文
摘要: Irrlicht如何做到跨平臺?
Irrlicht中的兩個抽象接口,IrrlichtDevice和IVideoDriver分別將設備與驅動抽象出來。對于不同的設備(比如Android手機或iPhone手機)只需要實現這兩個接口,那么Irrlicht就基本可以被你所用了,因為引擎的其他部分大部分都是平臺無關的,涉及到的平臺相關的部分根據需要做調整就可以了。
閱讀全文
摘要: 對于OpenGL的初學者來說,有兩個不應該成為困難點的困難點。一個是編寫OpenGL程序需要依賴特定平臺的窗體系統。另外一個是OpenGL的擴展機制需要我們自己去處理。
這里推薦兩個利器來解決這兩個問題。讓我們可以更加專注和有效的學習OpenGL。分別是GLUT和GLEW
閱讀全文
摘要: OpenGL中的Frame Buffer Object(FBO)擴展,被推薦用于把數據渲染到紋理對像。相對于其它同類技術,如數據拷貝或交換緩沖區等,使用FBO技術會更高效并且更容易實現。
FBO一個最常見的應用就是:渲染到紋理(render to texture),通過這項技術可以實現發光效果,環境映射,陰影映射等很炫的效果。
在OpenGL渲染管線中,幾何數據和紋理最終都是以2d像素繪制到屏幕上。最后一步的渲染目標在OpenGL渲染管線中被稱為幀緩存(frame buffer)。幀緩存是顏色緩存、深度緩存、模板緩存、累積緩存的集合。默認情況下, OpenGL使用的幀緩存是由窗體系統創建和管理的。
在OpenGL擴展中,GL_EXT_framebuffer_object擴展提供了一個創建額外幀緩存對象(FBO)的接口。這個幀緩存的創建和控制完全是由OpenGL完成的,有別于窗體系統創建的默認的幀緩存。與系統默認的幀緩存類似,一個FBO也是顏色緩存、深度緩存、模板緩存的集合(FBO不包括累積緩存),然后OpenGL程序就可以把渲染重定向到FBO
閱讀全文