中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

OpenGL ES中如何添加動作

發布時間:2021-11-26 15:20:17 來源:億速云 閱讀:122 作者:柒染 欄目:移動開發

這篇文章給大家介紹OpenGL ES中如何添加動作,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

在屏幕上繪制對象是OpenGL的最基本功能,你可以使用其他的Android圖形框架類,如Canvas和Drawable對象來完成這些功能。OpenGLES提供了一些用于在三維空間中移動和變換被繪制的對象的能力,以及其他的創建良好用戶體驗的獨特方式。

給圖形添加旋轉動作

旋轉圖形

使用OpenGL ES 2.0來旋轉一個繪制對象是相對簡單的。你要創建另外的變換矩陣(旋轉矩陣),然后把它跟投影和攝像機變換矩陣組合到一起:

privatefloat[]mRotationMatrix =newfloat[16]; public void onDrawFrame(GL10 gl) { ... // Create a rotationtransformation for the triangle long time = SystemClock.uptimeMillis() % 4000L; float angle = 0.090f * ((int) time); Matrix.setRotateM(mRotationMatrix, 0, angle, 0, 0, -1.0f); // Combine the rotationmatrix with the projection and camera view Matrix.multiplyMM(mMVPMatrix, 0, mRotationMatrix, 0, mMVPMatrix, 0); // Draw triangle mTriangle.draw(mMVPMatrix); }

做了這些改變之后,如果你的三角形沒有旋轉,那么就要確認你是否完成了GLSurfaceView.RENDERMODE_WHEN_DIRTY設置。

啟用連續的渲染

如果你一直跟隨在學習本文的示例代碼,那么要確保像下面代碼那樣,注釋掉對渲染模式的設置,否則OpenGL只會旋轉圖形一次,然后等待來自GLSurfaceView容器的requestRender()方法的調用。

publicMyGLSurfaceView(Context context){ ... // Render the view onlywhen there is a change in the drawing data //setRenderMode(GLSurfaceView.RENDERMODE_WHEN_DIRTY);// comment out for auto-rotation }

除非對象的變化跟任何用戶交互無關,否則設置一個開關標記是一個好主意。

關于OpenGL ES中如何添加動作就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

绍兴县| 阿城市| 林州市| 东乡| 清水县| 尼勒克县| 玉树县| 资阳市| 庆安县| 甘洛县| 肇东市| 都江堰市| 平安县| 通许县| 宁晋县| 潜江市| 弥渡县| 庆阳市| 康乐县| 冕宁县| 德格县| 台前县| 新邵县| 泰顺县| 环江| 关岭| 南岸区| 肥西县| 长兴县| 麻江县| 浙江省| 桃园市| 双峰县| 板桥市| 宁都县| 和林格尔县| 新密市| 高尔夫| 万载县| 西充县| 玉树县|