我刚刚买了V.SCOTT GORDON和JOHN CLEVENGER的书《用Java在OpenGL中进行计算机图形编程》。对于示例代码,本书向您展示了这一点。
package com.company;
import java.nio.*;
import javax.swing.*;
import static com.jogamp.opengl.GL4.*;
import com.jogamp.opengl.*;
import com.jogamp.opengl.awt.GLCanvas;
import com.jogamp.common.nio.Buffers;
public class Main extends JFrame implements GLEventListener {
private GLCanvas canvas;
public static void main(String[] args){
new Main();
}
public Main(){
setTitle("Chapter - program1");
setSize(600,400);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocation(200,200);
canvas = new GLCanvas();
canvas.addGLEventListener(this);
this.add(canvas);
setVisible(true);
}
public void init(GLAutoDrawable glAutoDrawable) {
}
public void dispose(GLAutoDrawable glAutoDrawable) {
}
public void display(GLAutoDrawable glAutoDrawable) {
GL4 gl = (GL4) GLContext.getCurrentGL();
float[] bkg = {1.0f,0.0f,0.0f,1.0f};
FloatBuffer bkgBuffer = Buffers.newDirectFloatBuffer(bkg);
gl.glClearBufferfv(GL_COLOR,0,bkgBuffer);
}
public void reshape(GLAutoDrawable glAutoDrawable, int i, int i1, int i2, int i3) {
}
}
我编写了完全相同的代码,但黑屏了,应该是红色的。有人可以帮我吗?
我将jogl-all.jar,glugengen-rt.jar软件包添加为全局库。
答案 0 :(得分:0)
使用OpenGL时,出现黑屏可能是最常见的错误。由于这显然是您尝试的第一个OpenGL / JOGL程序,因此到目前为止,最有可能的原因是您的配置有问题。不幸的是,有很多可能的原因。我在这里列出了一堆,其中任何一个都可能导致您看到黑屏:
http://ecs.csus.edu/~gordonvs/hints.html
我建议先进行所有这些操作,以确保您的配置完全正确。使第一个程序正常工作可能会有些麻烦。 :)
我注意到您的程序清单实际上与书中列出的实际示例稍有不同(您添加了程序包声明)。那可能不是问题的根源,但我想我会提到它。