0
我正在写我的第一个opengl程序,并希望通过单击鼠标我的形状的颜色被更改,但它不起作用。我的代码是 ....我的错是什么?opengl画布不更新
float red = 1.0f, green = 1.0f, blue = 1.0f;
public void init(GLAutoDrawable drawable)
{
GL2 gl=drawable.getGL().getGL2();
gl.glClearColor(0.0f,0.0f,0.0f,0.0f);
}
public void display(GLAutoDrawable drawable)
{
GL2 gl=drawable.getGL().getGL2();
gl.glClear(GL2.GL_COLOR_BUFFER_BIT);
gl.glColor3f (red, green, blue);
gl.glBegin(GL2.GL_LINES);
gl.glVertex3f(0.5f,0.5f,0.1f);
gl.glVertex3f(-0.5f,-0.5f,0.0f);
gl.glEnd();
gl.glFlush();
gl.glRectf(0.0f,0.0f,0.5f,-0.5f);
gl.glRectf(0.0f,0.0f,-0.5f,0.5f);
gl.glFlush();
}
public void reshape(GLAutoDrawable drawable, int x,int y,int width,int height){}
public void dispose(GLAutoDrawable drawable){}
public void mouseClicked(MouseEvent e) {
red = 1.0f; green = 0.0f; blue = 1.0f;
}
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
public void mousePressed(MouseEvent e) {}
public void mouseReleased(MouseEvent e) {}
我不调用交换缓冲区。我不知道交换缓冲区。 – Tofiq
@Tofiq:这可能是你没有看到任何东西的原因。你有没有看过OpenGL的基础教程,它使用了你使用的任何Java OpenGL工具? –