3D開發和OpenGL

山有木xi發表於2020-05-06

在Android開發中,透過Android提供的圖形、圖形處理API,開發者可以很方便的處理二維的圖形和2D遊戲的開發,但是,隨著時代的進步,使用者的需求 不再侷限於2D,3D技術早已應用開來

OpenGL

OpenGL的全稱是  Open Graphics Library,開放的圖形庫介面,定義了一個跨程式語言,跨平臺的程式設計介面規範,主要用於三維影像程式設計,體系簡單,具有跨平臺的特性,在圖形工作站、PC上, OpenGL都有可以良好的工作,但是三維影像計算必須需要處理大量資料,因此在如手機之類的小型裝置上使用就有點困難,所以, OpenGL又來個一個子集: OpenGL ES

在Android中簡單的使用一下 OpenGL ES

public void onSurfaceCreated(GL10 gl, EGLConfig config)
 {
  // 設定系統對透視進行修正
  gl.glHint(GL10.GL_PERSPECTIVE_CORRECTION_HINT
    , GL10.GL_FASTEST);
  gl.glClearColor(0, 0, 0, 0);
   // 關閉抗抖動
  gl.glDisable(GL10.GL_DITHER);
  // 啟用深度測試
  gl.glEnable(GL10.GL_DEPTH_TEST);
  // 設定深度測試的型別
  gl.glDepthFunc(GL10.GL_LEQUAL);
   // 設定陰影平滑模式
  gl.glShadeModel(GL10.GL_SMOOTH);
 }

3D開發

未接觸之時,感覺3D開發好像很難的樣子,很複雜,誠然,3D開發自然是要比2D開發難上許多,因為需要更多的資料,但是,現在的3D簡單開發在不考慮效能的情況下並不難

簡單的說,我們想要顯示一個正方形

運用在中學時期學過的建立座標軸,以X和Y軸建立座標即可畫出一個2D圖形

而我們想顯示一個正方體

則需要用到XYZ軸立體座標軸,以X、Y和Z三軸建立座標,既可以得到一個3D圖形

以此類推其他的圖形影像,其實都並不像想象之中的難,而3D開發最難的其實在於: 數學知識,資料結構,物理知識

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69917874/viewspace-2690114/,如需轉載,請註明出處,否則將追究法律責任。

相關文章