1. 程式人生 > >Android面試收集錄 OpenGL ES

Android面試收集錄 OpenGL ES

face use 需要 pen 如何 clas bsp 使用 chan

1.如何用OpenGL ES繪制一個三角形?

  • 編寫一個類實現Renderer接口,實現onDrawFrame方法,onSurfaceChanged方法,onSurfaceCreated方法
  • 編寫一個類Triangle類,定義定點坐標,裝載所有頂點坐標,調用GL10的一個glDrawArrays方法來繪制三角形
  • 最後在重寫的onDrawFrame方法中調用triangle.drawSelf來真正繪制三角形

2.OpenGL ES繪制一個矩形有哪些方法?

  • 三角形旋轉法(但是要求一個角為90度)
  • 頂點法繪制矩形,先定義4個頂點坐標
  • 索引法繪制矩形

3.用索引法繪制多邊形有什麽限制?

  • 必須使用byte[]定義定點索引,索引的個數不能超過255個

4.如何繪制一個四棱錐?

  • 註意:使用OpenGL ES繪制的任何圖像都是用三角形拼出來的
  • 定義4個面,每個面3個點
  • 然後再onDrawFrame方法繪制4個三角形來組成一個四棱錐

5.如何給一個立方體的6個面上色?

  • 一個顏色由4個值(RGBA)組成,每個平面4個頂點,一個平面需要16個值來描述顏色
  • 立方體有6個面,總共需要96個值來描述顏色
  • 先定義一個長度為96的數組來記錄顏色,然後使用glDrawArrays方法繪制立方體

6.OpenGL ES支持哪幾種光源?

  • 定向光
  • 定位光

7.請介紹一下OpenGL ES光源的環境光,散射光,鏡面反射的含義?

  • 環境光的pname參數值為GL10.GL_AMBIENT,表示一個特定光源在場景中添加的環境光的RGBA強度。、
  • 散射光,參數為GL10.GL_DIFFUSE,來自於某個方向,撞擊物體表面後,會均勻地發散
  • 鏡面反射光,參數為:GL10.GL_SPECULAR,來自一個特定方向

Android面試收集錄 OpenGL ES