私はEclipseでLWJGLを使用しており、私が作成したこのコードがあります:
public class test {
public test() {
int wx = 600;
int hy = 450;
try {
Display.setDisplayMode(new DisplayMode(wx, hy));
Display.create();
Display.setTitle("Hello World!");
} catch (LWJGLException e) {
e.printStackTrace();
}
// init openGL
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0, wx, hy, 0, 1, -1);
glMatrixMode(GL_MODELVIEW);
while (!Display.isCloseRequested()) {
// render openGL
int mouseX = Mouse.getX();
int mouseY = Mouse.getY();
while (Mouse.next()) {
if (Mouse.isButtonDown(0)) {
System.out.println("(" + mouseX + ", " + mouseY + ")");
}
}
while (Keyboard.next()) {
if (Keyboard.getEventKey() == Keyboard.KEY_ESCAPE) {
Display.destroy();
System.exit(0);
}
}
glBegin(GL_LINES);
glVertex2i(100, 100);
glVertex2i(mouseX, hy - mouseY - 1);
glEnd();
Display.update();
Display.sync(250);
}
}
public static void main(String[] args) {
new test();
}
}
これを見て:
glBegin(GL_LINES);
glVertex2i(100, 100);
glVertex2i(mouseX, hy - mouseY - 1);
glEnd();
Display.update();
Display.sync(250);
線の最初の点に単純な座標を使用していることを示していますが、線の 2 番目の点はマウス座標で使用されています。マウスを動かすと、カーソルに追従する 1 つのリングではなく、消えない多くの行が作成されます。すでに塗られた線を取り除く方法はありますか?
前もって感謝します。とても有難い。