OpenGL ES Game Development 第五章(實用操作篇,譯者注)

本章信息:

 

•  pc和手機遊戲區別

•  爲手機遊戲優化代碼

    經驗之談:處理遊戲固定楨速和不同尺寸適配

    幾何和紋理動畫簡介

    使用OpenGL ES 渲染2D畫面

 

OpenGL ES的出現,使得pc端移植到手機端,成爲可能和easy的事。

 

porting面臨的問題:

    CPU speed

    GPU speed

    CPU上缺少HW floating pt

    系統內存的大小和速度

    存儲空間

 

CPU方面的建議:

少使用浮點數。必要時使用sine查找表。

 

內存和存儲能力:

重點:渲染資源、聲音。

使用 壓縮。

使用platform相關的native的紋理壓縮格式。

 

資源artwork創建

從渲染性能角度出發,用低端機開發,或者不能 性能機器,不能artwork.

資源角度,可以先只畫一套高清的紋理,然後做個工具,針對不同平臺來縮放或改變格式。

 

GPU運算速度,決定了一楨能渲染多少頂點。

 

基於Graphics Pipeline的優化

直接影響流暢的一楨可渲染的多邊形的數量。

 

知道你的數據類型。

儘量使用小的數據類型,減少memory帶寬。如16位或8位的定點數。還有助於減少幾何模型的佔用的存儲空間。

 

一個頂點用到的數據省幾個字節,數以千計的頂點就會節省很多空間,、

減少頂點傳輸,減少glDrawArrays()/ glDrawElements()調用。增加該方法繪製的頂點數從而減少調用次數,比減少頂點數而調用次數增加,執行速度快很多。

 

VBO的使用。

 

只畫你所看到的。

不同遠近,對於一個物體來說,使用不同面的模型:設計師做幾套或用工具導出。

一般三種:特寫鏡頭用的高清、中等距離、很遠距離。

雖然OpenGL ES會不畫屏幕以外的,但傳輸到OpenGL ES本身就損耗性能,所以在屏幕外時,就不要去傳送它到OpenGL ES.

一些排除不可見物體的算法:

group法。

適用第一視角的BSP算法。

用於野外環境的四叉樹、八叉樹。

 

理清渲染狀態,減少渲染狀態的改變次數,如改變textureID。

以4輛摩托車渲染爲例,優化後,改變渲染狀態的次數,從36,驟減至12 !。

拼大圖,也能減少texture改變的次數。

 

以固定楨速運行

一般是控制在30fps,即一楨耗時33ms左右。

快的時候,等待。

慢的時候,引入frame_speed的概念,logic x frame_speed,以保持遊戲運行速度一致。

 

幾何和紋理動畫

幾何動畫:mesh morphing和skeletal animation。

紋理動畫:使用一張拼起來的大圖,變換座標即可。
發佈了7 篇原創文章 · 獲贊 2 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章