【发布时间】:2017-07-07 19:13:53
【问题描述】:
我最近使用 LWJGL 3 做了一个项目,但遇到了困难。我已经查看了所有内容,但似乎无法弄清楚为什么调用 GL20.glShaderSource(shaderId, shaderCode) 然后随后调用 GL20.glCompileShader(shaderId) 返回错误。我收到的错误看起来好像 lwjgl 无法识别着色器文件的路径:
LWJGL Version 3.1.2 build 13
java.lang.Exception: ERROR COMPILING SHADER CODE: VERTEX SHADER FAILED TO
COMPILE WITH THE FOLLOWING ERRORS:
ERROR: 0:1: ERROR(#132) SYNTAX ERROR: "/" PARSE ERROR
ERROR: ERROR(#273) 1 COMPILATION ERRORS. NO CODE GENERATED
at com.wilby.model.ShaderProgram.createShader(ShaderProgram.java:47)
at com.wilby.model.ShaderProgram.createVertexShader(ShaderProgram.java:24)
at com.wilby.Renderer.initialise(Renderer.java:62)
at com.wilby.Game.initialise(Game.java:46)
at com.wilby.Game.loop(Game.java:23)
at com.wilby.Main.run(Main.java:27)
at com.wilby.Main.main(Main.java:16)
但是,即使文件不需要任何前缀即可到达它,它仍然会出现此错误。就像我说的,我完全被难住了。
我的项目的链接是here。
【问题讨论】:
-
您确定您的驱动程序处理 OpenGL 4.5 吗?尝试在上下文/窗口创建和内部着色器中设置较低版本。
-
是的,我知道它使用的是 OpenGL 4.5,即便如此,我还是用较低的设置对其进行了测试,但仍然出现同样的错误。
-
显示着色器和产生此错误的代码。着色器的第一行是注释吗?
-
错误不是着色器,我认为,因为 OpenGl 无法解析文件。着色器的第一行是它的版本。我上面有一个指向我的 github 的链接。
标签: java opengl graphics lwjgl