2017-04-30 163 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 

在這個類中創建,還可以實現的渲染方法。在那裏你畫對象。使用類的優點是可以將圖形添加到此類中。如果您沒有在類中定義特定的繪製方法,則必須在主渲染方法中手動繪製每個對象。