我正在学习本教程,将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