Java jogl GLEventListener.display()不';t画
我几乎像教程一样设置了这个项目。它创建一个窗口,但不绘制任何东西,它使用opengl 2.0和jogl。 f8fGLbase包Java jogl GLEventListener.display()不';t画,java,jogl,Java,Jogl,我几乎像教程一样设置了这个项目。它创建一个窗口,但不绘制任何东西,它使用opengl 2.0和jogl。 f8fGLbase包 import java.util.ArrayList; import com.jogamp.opengl.GL; import com.jogamp.opengl.GL2; import com.jogamp.opengl.GLAutoDrawable; import com.jogamp.opengl.GLEventListener; public class f
import java.util.ArrayList;
import com.jogamp.opengl.GL;
import com.jogamp.opengl.GL2;
import com.jogamp.opengl.GLAutoDrawable;
import com.jogamp.opengl.GLEventListener;
public class f8fGLRenderer implements GLEventListener{
ArrayList<f8fGLDrawable> mDrawList=null;
public ArrayList<f8fGLDrawable> getDrawList() {
return mDrawList;
}
public void setDrawList(ArrayList<f8fGLDrawable> mDrawList) {
this.mDrawList = mDrawList;
}
public void addDrawList(f8fGLDrawable Drawable) {
this.mDrawList.add(Drawable);
}
public void removeDrawList(f8fGLDrawable Drawable) {
this.mDrawList.remove(Drawable);
}
@Override
public void display(GLAutoDrawable gLDrawable) {
// TODO Auto-generated method stub
final GL2 gl = gLDrawable.getGL().getGL2();
gl.glClear(GL2.GL_COLOR_BUFFER_BIT | GL2.GL_DEPTH_BUFFER_BIT);
gl.glLoadIdentity();
gl.glTranslatef(-1.5f, 0.0f, -6.0f);
gl.glColor3f(1.0f, 1.0f, 0.0f);
gl.glBegin(GL2.GL_TRIANGLES);
gl.glVertex3f(0.0f, 1.0f, 0.0f);
gl.glVertex3f(-1.0f, -1.0f, 0.0f);
gl.glVertex3f(1.0f, -1.0f, 0.0f);
gl.glEnd();
gl.glTranslatef(3.0f, 0.0f, 0.0f);
gl.glBegin(GL2.GL_QUADS);
gl.glVertex3f(-1.0f, 1.0f, 0.0f);
gl.glVertex3f(1.0f, 1.0f, 0.0f);
gl.glVertex3f(1.0f, -1.0f, 0.0f);
gl.glVertex3f(-1.0f, -1.0f, 0.0f);
gl.glEnd();
gl.glFlush();
}
@Override
public void dispose(GLAutoDrawable arg0) {
// TODO Auto-generated method stub
}
@Override
public void init(GLAutoDrawable arg0) {
// TODO Auto-generated method stub
System.out.println("init() called");
GL2 gl = arg0.getGL().getGL2();
gl.glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
gl.glShadeModel(GL2.GL_FLAT);
}
@Override
public void reshape(GLAutoDrawable arg0, int arg1, int arg2, int arg3, int arg4) {
// TODO Auto-generated method stub
}
}
main.java
包prova
import com.jogamp.opengl.awt.GLCanvas;
import test.testMain;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
new testMain();
}
}
它显示什么?只有黑色背景的窗口,即使我尝试更改背景,它也不会更改。如果使用
glClearColor
更改背景颜色,是否有任何更改?我没有尝试使用glClearColor(new Color());使用mCanvas.setBackgroundColor()@akira elect将其中一些现代例子移植到JOGL:
import com.jogamp.opengl.awt.GLCanvas;
import test.testMain;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
new testMain();
}
}