Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JOGL空白屏幕_Java - Fatal编程技术网

Java JOGL空白屏幕

Java JOGL空白屏幕,java,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; imp

我刚刚买了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和gluegen-rt.jar包作为全局库

使用OpenGL时,获取空白屏幕可能是最常见的错误。由于这显然是您尝试的第一个OpenGL/JOGL程序,到目前为止,最有可能的原因是您的配置有问题。不幸的是,有许多可能的原因。我在这里列出了一组,其中任何一个都会导致你看到的空白屏幕:

我建议先检查每一项,以确保您的配置完全正确。让第一个程序开始工作可能有点麻烦。:)
我注意到,您的程序列表实际上与书中列出的实际示例(您添加了一个包声明)略有不同。这可能不是问题的根源,但我想我应该提一下。

添加一名动画师