JOGL黑屏

时间:2018-08-03 19:24:56

标签: java

我刚刚买了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软件包添加为全局库。

1 个答案:

答案 0 :(得分:0)

使用OpenGL时,出现黑屏可能是最常见的错误。由于这显然是您尝试的第一个OpenGL / JOGL程序,因此到目前为止,最有可能的原因是您的配置有问题。不幸的是,有很多可能的原因。我在这里列出了一堆,其中任何一个都可能导致您看到黑屏:
http://ecs.csus.edu/~gordonvs/hints.html
我建议先进行所有这些操作,以确保您的配置完全正确。使第一个程序正常工作可能会有些麻烦。 :)

我注意到您的程序清单实际上与书中列出的实际示例稍有不同(您添加了程序包声明)。那可能不是问题的根源,但我想我会提到它。