방금 JOGL을 공부하기 시작했으며 한 가지 문제가 있습니다.JOGL - 작동하지 않는 색상
다음은 두 가지 방법, 즉 GLEventListener의 간단한 구현입니다.
@Override
public void init(GLDrawable glDrawable) {
GL gl = glDrawable.getGL();
GLU glu = glDrawable.getGLU();
gl.glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
glu.gluOrtho2D(0.0, 600.0, 0.0, 500.0);
}
@Override
public void display(GLDrawable glDrawable) {
GL gl = glDrawable.getGL();
gl.glPointSize(100.0f);
gl.glColor3f(0.0f, 1.0f, 0.0f);
gl.glBegin(GL.GL_POINTS);
gl.glVertex2i(300, 250);
gl.glEnd();
gl.glEnd();
}
이렇게하면 JFrame 창에 구성 요소를 삽입하는 방법입니다.
package scribble;
import net.java.games.jogl.GLCanvas;
import net.java.games.jogl.GLCapabilities;
import net.java.games.jogl.GLDrawableFactory;
import javax.swing.*;
import java.awt.*;
public class ScribbleComponent extends JFrame {
public static void main(String[] args) {
ScribbleComponent component = new ScribbleComponent();
ScribbleRunnable runnable = new ScribbleRunnable(component);
SwingUtilities.invokeLater(runnable);
}
public ScribbleComponent() {
super("Scribble");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
GLCapabilities glCapabilities = new GLCapabilities();
GLCanvas glCanvas = GLDrawableFactory.getFactory().createGLCanvas(glCapabilities);
glCanvas.addGLEventListener(new ScribbleListener());
getContentPane().add(glCanvas, BorderLayout.CENTER);
getContentPane().add(new JButton("Clear Screen"), BorderLayout.SOUTH);
setSize(600, 500);
ScribbleHelper.centerWindow(this);
}
}
는 ScribbleRunnable (성분) 컴포넌트 표시한다.
ScribbleHelper.centerWindow (this) JFrame 창의 가운데 정렬 만합니다.
흰색 배경에 녹색 사각형이 표시 될 것으로 예상됩니다.
첫 번째 컴퓨터에서는 올바르게 작동하지만 두 번째 컴퓨터에서는 검은 색 바탕에 진한 빨간색 사각형이 나타납니다. 항상 그런 일이 일어나고 다른 색상은 설정할 수 없습니다.
두 컴퓨터 모두 JDK 1.6 및 동일한 라이브러리를 사용하여 Windows 7을 실행합니다.
어디에서 문제가 될 수 있습니까?