Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.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 简单的LWJGL程序不显示任何内容_Java_Opengl_Lwjgl - Fatal编程技术网

Java 简单的LWJGL程序不显示任何内容

Java 简单的LWJGL程序不显示任何内容,java,opengl,lwjgl,Java,Opengl,Lwjgl,我阅读了《初级读物》和《Hello三角形》的章节,决定加入LWJGL。当我在第一次尝试之后没有在屏幕上得到任何东西时,我尝试再次移植一些C++代码,从另一个代码中移植,没有效果。 据我所知,我把所有的部分都放在一起了,但屏幕仍然是黑色的。我理解这些概念,但我肯定我遗漏了一些简单的东西 我已经尽可能简单地减少了。请注意,下面的类使用了,并且据我所知,它按预期工作(除了缺少错误检查-但是,我已经确保着色器编译) vertex32.gl: fragment32.gl: 我看不出我错在哪里。没有错误,唯

我阅读了《初级读物》和《Hello三角形》的章节,决定加入LWJGL。当我在第一次尝试之后没有在屏幕上得到任何东西时,我尝试再次移植一些C++代码,从另一个代码中移植,没有效果。 据我所知,我把所有的部分都放在一起了,但屏幕仍然是黑色的。我理解这些概念,但我肯定我遗漏了一些简单的东西

我已经尽可能简单地减少了。请注意,下面的类使用了,并且据我所知,它按预期工作(除了缺少错误检查-但是,我已经确保着色器编译)

vertex32.gl:

fragment32.gl:

我看不出我错在哪里。没有错误,唯一的输出是版本字符串(它正确地显示了OpenGL 3.2-是的,我尝试过使用和不使用任何类型的显式上下文属性)

在接下来的所有教程中,让我感到奇怪的是,没有使用投影矩阵来设置投影矩阵,例如,
glOrtho
。我在LWJGL(使用GL 1.1功能)中有一些应用程序可以与
glOrtho
配合使用,但现在我正在尝试升级/重新建立/完善我的GL知识,我又回到了起点

我错过了什么

EDIT:定义VM参数
-Dorg.lwjgl.util.Debug=true会产生:

[LWJGL] Initial mode: 1920 x 1080 x 32 @60Hz
[LWJGL] MemoryUtil Accessor: AccessorUnsafe
[LWJGL] GL_ARB_gpu_shader_fp64 was reported as available but an entry point is missing
[LWJGL] GL_ARB_shader_subroutine was reported as available but an entry point is missing
[LWJGL] GL_ARB_vertex_attrib_64bit was reported as available but an entry point is missing
OpenGL version: 3.2.0

我看不到您告诉OpenGL位置中的
是属性0,颜色中的
是属性1的部分。本教程使用
布局(位置)
语法在着色器中执行此操作


如果您不能或不愿使用该语法,则需要在链接着色器之前使用该语法。

任何版本的桌面GL都不需要“仅1.30版需要”。事实上,在桌面GL中,它什么也不做。@Nicolas着色器实际上是复制/粘贴的。不是我的评论,呵呵。为什么你要从一个不同的教程复制和粘贴一个着色器,而不是你所说的那个教程?它是从我正在编写的那个教程中复制和粘贴的…“正在编写”,如“编写”或“阅读”?
#version 140

in  vec3 in_Position;
in  vec3 in_Color;
out vec3 ex_Color;

void main(void)
{
        gl_Position = vec4(in_Position, 1.0);
        ex_Color = in_Color;
}
#version 140

precision highp float; // needed only for version 1.30

in  vec3 ex_Color;
out vec4 out_Color;

void main(void)
{
        out_Color = vec4(ex_Color,1.0);
}
[LWJGL] Initial mode: 1920 x 1080 x 32 @60Hz
[LWJGL] MemoryUtil Accessor: AccessorUnsafe
[LWJGL] GL_ARB_gpu_shader_fp64 was reported as available but an entry point is missing
[LWJGL] GL_ARB_shader_subroutine was reported as available but an entry point is missing
[LWJGL] GL_ARB_vertex_attrib_64bit was reported as available but an entry point is missing
OpenGL version: 3.2.0