Hello all,
My curve TextRenderer had been rendering text perfectly until I tried updating from Jogamp 2.0 to 2.0.2, which now causes the following exception: java.lang.RuntimeException: readShaderSource(shader/curverenderer01.vp) error: at com.jogamp.opengl.util.glsl.ShaderCode.create(ShaderCode.java:179) at com.jogamp.opengl.util.glsl.ShaderCode.create(ShaderCode.java:365) at com.jogamp.opengl.util.glsl.ShaderCode.create(ShaderCode.java:447) at jogamp.graph.curve.opengl.TextRendererImpl01.initShaderProgram(TextRendererImpl01.java:52) at com.jogamp.graph.curve.opengl.Renderer.init(Renderer.java:134) at (line of code that does TextRenderer.init(GL2ES2)) Caused by: java.io.FileNotFoundException: Can't find include file uniforms.glsl at com.jogamp.opengl.util.glsl.ShaderCode.readShaderSource(ShaderCode.java:746) at com.jogamp.opengl.util.glsl.ShaderCode.readShaderSource(ShaderCode.java:767) at com.jogamp.opengl.util.glsl.ShaderCode.readShaderSource(ShaderCode.java:796) at com.jogamp.opengl.util.glsl.ShaderCode.create(ShaderCode.java:177) ... 27 more It seems that there might be a uniforms.glsl file somewhere within the libraries but I am not sure where to find it or how to link it. |
I'm getting this error as well. I export my project as a jar and export with the libraries copied into a sub-folder. My jar will only work on linux and if I try run it on Mac OSX or Windows I get this error. There seems to be some problem with loading the shaders from the jogl jar files?
|
Exception in thread "GL Render Thread" java.lang.RuntimeException: readShaderSource(shader/curverenderer01.vp) error:
at com.jogamp.opengl.util.glsl.ShaderCode.create(ShaderCode.java:179) at com.jogamp.opengl.util.glsl.ShaderCode.create(ShaderCode.java:365) at com.jogamp.opengl.util.glsl.ShaderCode.create(ShaderCode.java:447) at jogamp.graph.curve.opengl.TextRendererImpl01.initShaderProgram(TextRendererImpl01.java:52) at com.jogamp.graph.curve.opengl.Renderer.init(Renderer.java:134) at engine.GameEngine$5.init(GameEngine.java:513) at jogamp.opengl.GLDrawableHelper.init(GLDrawableHelper.java:540) at jogamp.opengl.GLDrawableHelper.displayImpl(GLDrawableHelper.java:586) at jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:572) at jogamp.opengl.GLAutoDrawableBase$2.run(GLAutoDrawableBase.java:377) at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1034) at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:909) at com.jogamp.newt.opengl.GLWindow.display(GLWindow.java:602) at engine.GameEngine$8.run(GameEngine.java:727) at java.lang.Thread.run(Thread.java:722) Caused by: java.io.FileNotFoundException: Can't find include file uniforms.glsl at com.jogamp.opengl.util.glsl.ShaderCode.readShaderSource(ShaderCode.java:746) at com.jogamp.opengl.util.glsl.ShaderCode.readShaderSource(ShaderCode.java:767) at com.jogamp.opengl.util.glsl.ShaderCode.readShaderSource(ShaderCode.java:796) at com.jogamp.opengl.util.glsl.ShaderCode.create(ShaderCode.java:177) ... 14 more Even when manually including the jar files through `java -cp classfiles classname` I still get the same exeception. |
Administrator
|
In reply to this post by Laykun
Are you sure you use exactly the same version under Windows, GNU Linux and Mac OS X?
Julien Gouesse | Personal blog | Website
|
I sync the files between systems using Google drive. I did an md5 hash on my Mac and Linux platforms and they both come up the same, but still the same result.
Cheers, Leigh. P.S. This is when I try to use JOGL's TextRendering functionality btw. |
In reply to this post by gouessej
Also, this runs fine on Mac, Windows and Linux if I'm running it through Eclipse. This only happens when I have exported the project to a jar.
|
In reply to this post by gouessej
Ok so your suggestion led me to dig deeper and find the cause of the problem. My jogl-all.jar was being pulled from another project which was out of date, but only during export. Thanks so much for your help!
|
This post was updated on .
In reply to this post by gouessej
Ok, so that temporarily seemed to have fixed my problem till I tried syncing it in my Google Drive folder again (I have a workflow of building it locally and then transferring it to Google Drive for distribution).
I have found the cause of it not being able to find the shader programs! The Google Drive folder has a space in it's name, i.e. \User\Google Drive\some_folder , when I remove that space the shaders load fine. So it seems there's a bug in 2.0.2 that means it can't handle spaces in the path name when loading shaders. Should I open a bug report for this? EDIT : Posted as bug here https://jogamp.org/bugzilla/show_bug.cgi?id=820 |
Administrator
|
Thank you for your excellent investigation :)
Julien Gouesse | Personal blog | Website
|
Free forum by Nabble | Edit this page |