2014-09-06 6 views
0

다각형을 표시 메소드의 일부가 아닌 자체 클래스로 자체 객체로 그려야합니다. 나는 그걸 많이 발견하지 못했고, 누군가 나를 도와 줄 수 있기를 바랍니다.jogl, 자신의 객체/클래스로 폴리곤

public PolygonalGameObject(GameObject parent, double points[], 
     double[] fillColour, double[] lineColour) { 
    super(parent); 

    myPoints = points; 
    myFillColour = fillColour; 
    myLineColour = lineColour; 
} 

public void drawSelf(GL2 gl) { 

// TODO: Write this method 

    gl.glMatrixMode(GL2.GL_MODELVIEW); 
    gl.glLoadIdentity(); 

    gl.glBegin(GL2.GL_POLYGON);{ 
    for (int i = 0; i < myPoints.length; i += 2) { 
     double x = myPoints[i]; 
     double y = myPoints[i + 1]; 
     gl.glVertex2d(x, y); 
    } 
    }gl.glEnd(); 
} 

게임 오브젝트는 장면 그래프/트리

사람이 좋은 자습서는 다음 게시하시기 바랍니다 있어요 그래서 만약 내가이 (프로그래밍과 그래픽 모두) 꽤 새로운 해요 여러 polygonalGameObjects을 포함하고 있습니다!

많은 감사!

답변

0

OpenGL을 사용하여 무언가를 그리려면 현재 OpenGL 컨텍스트가 필요하므로 GLEventListener.display (GLAutoDrawable)에서 드로잉 메서드를 호출해야하는 이유는 OpenGL 컨텍스트가이 메서드를 호출하는 동안이 스레드에서 현재 상태로 보장됩니다 . GLEventListener없이 JOGL을 사용할 수는 있지만 특히 초보자 인 경우 더 위험합니다. 유연성이 없기 때문에 시간 낭비입니다. 반면에 직접 드로어 블의 라이프 사이클을 처리해야합니다. GLEventListener를 사용해도 자신 만의 클래스를 만들 수있는 것은 아닙니다. display()에서 직접 또는 간접적으로 드로잉 메서드를 호출하면됩니다.

JOGL에 대한 질문이 있으시면 the official forum에 문의하십시오. the wiki도 볼 수 있습니다. JOGL을 사용하려면 일반 OpenGL을 배워야하며, OpenGL Red Book을 읽을 수 있습니다. 프로그래밍에 익숙하지 않다면 그래픽으로 시작해야한다고 생각하지 않습니다. 2D 프로그래밍과 3D 컴퓨터 그래픽의 원리를 배우기 전에 Java 프로그래밍의 기본 원리를 배우기 위해 훨씬 더 간단한 것으로 시작해야합니다 .