我正在學習本教程,將Opengl添加到我的Android應用程序中。 https://www3.ntu.edu.sg/home/ehchua/programming/android/Android_3D.html。在所有示例中,形狀都是在MyGLRenderer構造函數中創建的,但我想知道如何在Renderer創建後動態添加Opengl形狀。如何才能做到這一點?動態添加Opengl形狀
8
A
回答
1
導出三角形,四邊形,圓形等。從定義draw()
方法的'形狀'界面。 http://tutorials.jenkov.com/java/interfaces.html
然後根據需要創建一個列表並將其移出和移出。 http://www.codejava.net/java-core/collections/java-list-collection-tutorial-and-examples
在您的onDrawFrame(GL10 gl)
方法中,遍歷形狀列表。
for(Shape s : shapeList) s.draw(gl);
另外,也許應該形狀位置添加到形狀爲glTranslate
呼籲
3
您創建一個接口或類稱爲形狀。這將包含渲染3D形狀(頂點,索引,顏色數據等)所需的數據。或者,用於渲染的VAO/VBO /紋理ID /其他ID。
使用類的好處在於,您可以初始化方法並將所有內容保存在同一個類中,同時保持擴展它的能力並創建更多類(Cube,Pyramid等)來自定義對象。
創建類(ES)後,創建一個新的列表或地圖:
public List<Shape> shapes = new ArrayList<>();
//add whatever shapes you want. Create them at runtime (generate)
// or keep them static. It is up to you
在這個類中創建,還可以實現的渲染方法。在那裏你畫對象。使用類的優點是可以將圖形添加到此類中。如果您沒有在類中定義特定的繪製方法,則必須在主渲染方法中手動繪製每個對象。
相關問題
- 1. 動態添加形狀的ActiveReports
- 2. 添加狀態
- 3. OpenGL狀態集
- 4. 動態添加一個形狀/掩碼到內聯svg
- 5. 在Opengl中移動很多形狀
- 6. OpenGL狀態重置
- 7. 恢復OpenGL狀態
- 8. 如何在android中動態添加漸變到我的矩形形狀?
- 9. 將「活動」狀態添加到Javascript
- 10. 將活動狀態添加到錨?
- 11. 添加自動轉換到Flex狀態
- 12. KineticJS - 動態創建形狀
- 13. 繪製形狀動態
- 14. 動態形狀變量TensorFlow
- 15. 形狀的動態標記
- 16. 動態調整形狀
- 17. 動態擴展形狀
- 18. 如何理解TensorFlow中的靜態形狀和動態形狀?
- 19. 添加形狀在JavaFX
- 20. 添加和減去形狀
- 21. opengl適合任意形狀
- 22. OpenGL着色的形狀
- 23. 向silverlight動態添加矩形控件
- 24. 動態添加HTML選擇形式
- 25. C#添加WMP動態形成:
- 26. 以C#形式動態添加WindowsMediaPlayer
- 27. setTmpData()上動態添加形式的DataSource
- 28. 添加動態字段形成
- 29. 動態地形的紋理座標 - OpenGL
- 30. ember-routemanager可以在加載時動態添加狀態嗎?
你能提供一個例子嗎?我不明白 – amanda45
@ James-Poag-我在哪裏製作清單? – amanda45