2017-04-30 12 views

답변

1

도형 삼각형, 쿼드, 원 등. draw() 메서드를 정의하는 'Shape'인터페이스에서. 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.

클래스를 사용하는 이점은 메소드를 확장하고 모든 것을 하나의 클래스로 유지하면서 클래스를 확장하고 더 많은 클래스 (큐브, 피라미드 등)를 생성하여 객체를 사용자 정의 할 수 있다는 것입니다.

당신이 클래스 (들)을 생성 한 후, 새 목록이나지도 작성 :

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 

당신은 또한 렌더링 방법을 구현할 수 생성이 클래스에서합니다. 거기에서 당신은 물체를 그립니다. 클래스를 사용하는 이점은이 클래스에 드로잉을 추가 할 수 있다는 것입니다. 클래스에 특정 그리기 방법을 정의하지 않은 경우 주 렌더링 방법에서 모든 객체를 수동으로 그려야합니다.