日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

OpenGL ES

系統 1826 0

一、2D制圖。?

1.構建opengl es 的基本開發框架

回調android.opengl.GLSurfaceView.Renderer.

在Renderer借口中定義如下3個方法。

void onSurfaceCreated(GL10 gl, EGLConfig config) //創建或者被重建的時候調用,設置初始化功能。

void?onDrawFrame(GL10 gl) //繪制每一幀時調用,類似View中的onDraw方法。在該方法中繪制2D或3D圖形。

?void onSurfaceChanged(GL10 gl, int width, int height)//界面(主視圖)發生改變時調用,不管窗口尺寸是否發生變化,在程序開始的時候至少執行一次。

Opengl 的坐標系。

OpenGL ES

opengl的坐標是三維的,所以三個點確定一個坐標。

onDrawFrame方法里的glTranslatef方法,是將坐標的中心原點沿xyz的方向移動。

gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);//允許設置頂點。

gl.glVertexPointer(3, GL10.GL_FLOAT, 0, vertexBuffer);//設置頂點。

gl.glVertexPointer(坐標的維數, 定點的類型, 步長,頂點緩存);

gl.glDrawArrays(GL10.GL_TRIANGLE_STRIP, 0, vertices.length / 3);//繪制圖形。

gl.glDisableClientState(GL10.GL_VERTEX_ARRAY);//在開啟頂點設置功能后,必須使用該代碼,關閉頂點設置功能。

?

2.顏色:

其中顏色分為:Smooth Color (平滑顏色),Flat Clolr(單色調顏色)

先說簡單的Flat Color顏色把。

在使用單色調之前,必須關閉顏色渲染功能,要不然不起作用。

直接調用方法glColor4f(red,gree,blue,alpha)方法。

在來說說相對復雜的平滑顏色

在使用平滑顏色時需要開啟顏色渲染功能。

gl.glEnableClientState(GL10.GL_COLOR_ARRAY);

然后通過glColorPointer方法可以進行平滑著色。

gl.glColorPointer(4, GL10.GL_FLOAT, 0, colorBuffer);和glVertexPointer方法的參數相似。

其中第一個數字4表示每一個顏色的值的數目(R,G,B.A)

最后需要對顏色渲染功能進行關閉。

gl.glDisableClientState(GL10.GL_COLOR_ARRAY);

?

3.旋轉

旋轉的方法是void glRotatef(float angle,float x,float y,float z)

其中angle表示選擇的角度,后邊的x,y,z意思是,按照那個點去旋轉。

最后需要在onDrawFrame方法的最好不斷變化rotate變量,才能保存選擇,

rotate+=1;

?

?

OpenGL ES


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 临颍县| 沐川县| 壤塘县| 蓝田县| 云龙县| 北票市| 辉南县| 南昌县| 文昌市| 丰城市| 舞钢市| 林甸县| 耿马| 澄城县| 廉江市| 抚远县| 福泉市| 繁昌县| 体育| 荃湾区| 莱州市| 美姑县| 凤城市| 沅陵县| 英吉沙县| 许昌市| 昆明市| 南华县| 敦煌市| 司法| 元氏县| 盖州市| 奎屯市| 左贡县| 延边| 嘉定区| 高平市| 宜君县| 奈曼旗| 嘉义县| 合川市|