Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.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
原因:javax.media.opengl.GLException:不是GL3实现_Java_Opengl_Jogl - Fatal编程技术网

原因:javax.media.opengl.GLException:不是GL3实现

原因:javax.media.opengl.GLException:不是GL3实现,java,opengl,jogl,Java,Opengl,Jogl,当方法init尝试执行赋值时,我在方法init中得到一个“非GL3实现异常” void init(GLAutoDrawable glad){ GL3 gl3 = glad.getGL().getGL3(); } 我在所有平台上下载了jogamp。我正在使用EclispeIDE,并通过创建一个新的用户库来配置构建路径。新的用户库拥有jogamp所有平台的所有JAR。我看了类似的问题,但没什么帮助。你应该读一读。在您的例子中,glad.getGL()可能是GL4bc实例或GL2实例。这取决于您在

当方法init尝试执行赋值时,我在方法init中得到一个“非GL3实现异常”

void init(GLAutoDrawable glad){
GL3 gl3 = glad.getGL().getGL3();

}

我在所有平台上下载了jogamp。我正在使用EclispeIDE,并通过创建一个新的用户库来配置构建路径。新的用户库拥有jogamp所有平台的所有JAR。我看了类似的问题,但没什么帮助。

你应该读一读。在您的例子中,glad.getGL()可能是GL4bc实例或GL2实例。这取决于您在代码中使用的GLProfile实例。

我发现调试这类事情的最简单方法是获取GLProfile并将其打印为字符串——这样,您可以很容易地看到您的系统是否实际支持特定版本。您可以通过以下方式完成此操作:

GLProfile glp = GLProfile.get(GLProfile.GL3);
final GLCapabilitiesImmutable glcaps = (GLCapabilitiesImmutable) new GLCapabilities(glp);
final GLCapabilities tGLCapabilities = new GLCapabilities(glp);

System.out.println("System Capabilities:" + glcaps.toString());
System.out.println("Profile Details: " + glp.toString());
System.out.println("Is GL3 Supported?: " + glp.isGL3());

可能是您的硬件不支持OpenGL3吗?或者您有多个图形卡,其中只有一个支持它?@BDL不知道。我试图找出答案,但有人说我使用的集成图形卡(Intel 3000)可以与OpenGL3一起使用,但当我将GL3更改为GL2时,它不会出错。让我觉得它不能用。但也许我没有看到什么correctly@Rika你更新你的GPU驱动程序了吗?@Rika:你检查过了吗?@BDL我还不能查看该链接,我必须等到回家谢谢,我现在使用的计算机似乎不支持GL3