2017-04-30 90 views

回答

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呼吁

+0

你能提供一个例子吗?我不明白 – amanda45

+0

@ James-Poag-我在哪里制作清单? – amanda45

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 

在这个类中创建,还可以实现的渲染方法。在那里你画对象。使用类的优点是可以将图形添加到此类中。如果您没有在类中定义特定的绘制方法,则必须在主渲染方法中手动绘制每个对象。