我最近用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)
但是,即使文件不需要任何前缀即可到达它,它仍然会犯此错误。就像我说的,我完全被难住了。
我的项目的链接在这里。
我找到了解决方案。您必须读取该文件并将其用作着色器源方法中的字符串。脸掌。