내가 가진 운동은 다음과 같습니다. display()에 drawLine 메서드를 추가합니다. 아마도 같은 것이 필요할 것입니다. drawLine (GL gl, int x1, int y1, int x2, int y2) 이제 라인 수식을 사용하여 x1, y1에서 x2까지의 선을 구성하는 개별 점을 플롯하고, JOGL의 y2 (예 : gl.glPointSize (1.0f); gl.glBegin (GL.GL_POINTS); 당신이 흰색 점을 착색하고, 사용한 경우 다음과 같은 돌기 (100,100) 포인트에서 라인의 값 (0,0)와 다음 OpenGL - 점이있는 선 그리기
gl.glViewport(-250, -150, 250, 150);
gl.glMatrixMode(GL.GL_PROJECTION);
gl.glLoadIdentity();
glu.gluOrtho2D(-250.0, 250.0, -150.0, 150.0);
당신이 뭔가 아래 그림과 같이 표시됩니다
import javax.media.opengl.*;
import javax.media.opengl.glu.GLU;
public class ThirdGLEventListener implements GLEventListener {
/**
* Interface to the GLU library.
*/
private GLU glu;
/**
* Take care of initialization here.
*/
public void init(GLAutoDrawable gld) {
GL gl = gld.getGL();
glu = new GLU();
gl.glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
gl.glViewport(-250, -150, 250, 150);
gl.glMatrixMode(GL.GL_PROJECTION);
gl.glLoadIdentity();
glu.gluOrtho2D(-250.0, 250.0, -150.0, 150.0);
}
/**
* Take care of drawing here.
*/
public void display(GLAutoDrawable drawable) {
GL gl = drawable.getGL();
gl.glClear(GL.GL_COLOR_BUFFER_BIT);
/*
* put your code here
*/
drawLine(gl, 0, 0, 100, 100);
}
public void reshape(GLAutoDrawable drawable, int x, int y, int width,
int height) {
}
public void displayChanged(GLAutoDrawable drawable,
boolean modeChanged, boolean deviceChanged) {
}
private void drawLine(GL gl, int x1, int y1, int x2, int y2) {
gl.glPointSize(1.0f);
gl.glBegin(GL.GL_POINTS);
// This is where the whole problem lies.
gl.glEnd();//end drawing of points
}
:
지금까지 나는 내 라인을 만들의 EventListener에 대한 나의 코드는 다음과
}
제 문제는 회선 방정식의 메소드 내부에서 코드를 작성하는 방법을 잘 모르는 것입니다. 당신이 저를 조금 도와 주시면 감사하겠습니다. 그 나머지는 옳은 것 같아요. drawLine() 메소드 안에 라인 방정식을 구현하는 방법을 찾아야합니다.
이것은 최악의 그래픽 프로그래밍 숙제처럼 생각됩니다. 약간의 독서를해야하며 빨리 이해할 수 있습니다. –