-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Closed
Labels
bugSomething that is supposed to work, but doesn't. More severe than a "defect".Something that is supposed to work, but doesn't. More severe than a "defect".
Milestone
Description
5th generation Mac Mini (Apple Silicon)
OpenJDK 64-Bit Server VM Temurin-17.0.2+8 (build 17.0.2+8, mixed mode)
JME v3.5 branch
The "HelloMav" application crashes with the message is "ERROR: '' 0:1306: : syntax error: preprocessor command must not be preceded by any other statement in that line". Googling that message led me to https://stackoverflow.com/questions/9574919/webgl-differs-from-opengl-preprocessor-on-same-graphics-stack
My conclusion: "PBRTerrain.frag" uses the ## operator in 20+ places, but that operator isn't supported in some versions of GLSL.
GitHub won't allow me to post the full console output. Here's a redacted version:
Mar 18, 2022 3:11:41 PM com.jme3.renderer.opengl.GLRenderer updateShaderSourceData
WARNING: Bad compile of:
1 #version 110
2 #define SRGB 1
3 #define FRAGMENT_SHADER 1
4 #define TRI_PLANAR_MAPPING 1
5 #define ALBEDOMAP_0 1
6 #define ALBEDOMAP_1 1
7 #define ALBEDOMAP_2 1
8 #define ALBEDOMAP_3 1
9 #define ALBEDOMAP_4 1
10 #define ALBEDOMAP_5 1
11 #define ALBEDOMAP_6 1
12 #define ALPHAMAP 1
13 #define ALPHAMAP_1 1
14 #define ALBEDOMAP_0_SCALE 0.1
15 #define ALBEDOMAP_1_SCALE 0.05
16 #define ALBEDOMAP_2_SCALE 0.1
17 #define ALBEDOMAP_3_SCALE 0.1
18 #define ALBEDOMAP_4_SCALE 0.3
19 #define ALBEDOMAP_5_SCALE 0.1
20 #define ALBEDOMAP_6_SCALE 0.5
21 #define DEBUG_VALUES_MODE 0
22 #define SINGLE_PASS_LIGHTING 1
23 #define NB_LIGHTS 3
24 #define NB_PROBES 1
25 #define USE_AMBIENT_LIGHT 1
26 #extension GL_ARB_shader_texture_lod : enable
27 // -- begin import Common/ShaderLib/GLSLCompat.glsllib --
28 #if defined GL_ES...
1301 #ifdef ALBEDOMAP_0
1302 //NOTE! the old (phong) terrain shaders do not have an "_0" for the first diffuse map, it is just "DiffuseMap"
1303 #ifdef NORMALMAP_0
1304 BLEND_NORMAL(_0, alphaBlend.r)
1305 #else
1306 BLEND(_0, alphaBlend.r)
1307 #endif
1308
1309 #endif
1310 #ifdef ALBEDOMAP_1
1311 #ifdef NORMALMAP_1
1312 BLEND_NORMAL(_1, alphaBlend.g)
1313 #else
1314 BLEND(_1, alphaBlend.g)
1315 #endif...
1934
1935 #endif
1936
1937 gl_FragColor.a = albedo.a;
1938
1939 }
Mar 18, 2022 3:11:41 PM com.jme3.app.LegacyApplication handleError
SEVERE: Uncaught exception thrown in Thread[jME3 Main,5,main]
com.jme3.renderer.RendererException: compile error in: ShaderSource[name=Common/MatDefs/Terrain/PBRTerrain.frag, defines, type=Fragment, language=GLSL100]
ERROR: 0:1306: '' : syntax error: preprocessor command must not be preceded by any other statement in that line
ERROR: 0:1306: 'premature EOF' : syntax error syntax error
at com.jme3.renderer.opengl.GLRenderer.updateShaderSourceData(GLRenderer.java:1539)
at com.jme3.renderer.opengl.GLRenderer.updateShaderData(GLRenderer.java:1566)
at com.jme3.renderer.opengl.GLRenderer.setShader(GLRenderer.java:1631)
at com.jme3.material.logic.SinglePassAndImageBasedLightingLogic.render(SinglePassAndImageBasedLightingLogic.java:276)
at com.jme3.material.Technique.render(Technique.java:167)
at com.jme3.material.Material.render(Material.java:1052)
at com.jme3.renderer.RenderManager.renderGeometry(RenderManager.java:651)
at com.jme3.renderer.queue.RenderQueue.renderGeometryList(RenderQueue.java:273)
at com.jme3.renderer.queue.RenderQueue.renderQueue(RenderQueue.java:312)
at com.jme3.renderer.RenderManager.renderViewPortQueues(RenderManager.java:928)
at com.jme3.renderer.RenderManager.flushQueue(RenderManager.java:823)
at com.jme3.renderer.RenderManager.renderViewPort(RenderManager.java:1184)
at com.jme3.renderer.RenderManager.render(RenderManager.java:1248)
at com.jme3.app.SimpleApplication.update(SimpleApplication.java:278)
at com.jme3.system.lwjgl.LwjglWindow.runLoop(LwjglWindow.java:580)
at com.jme3.system.lwjgl.LwjglWindow.run(LwjglWindow.java:669)
at com.jme3.system.lwjgl.LwjglWindow.create(LwjglWindow.java:493)
at com.jme3.app.LegacyApplication.start(LegacyApplication.java:490)
at com.jme3.app.LegacyApplication.start(LegacyApplication.java:442)
at com.jme3.app.SimpleApplication.start(SimpleApplication.java:126)
at com.jayfella.jme.vehicle.simpledemo.HelloMav.main(HelloMav.java:104)
[JME ERROR] Uncaught exception thrown in Thread[jME3 Main,5,main]
RendererException: compile error in: ShaderSource[name=Common/MatDefs/Terrain/PBRTerrain.frag, defines, type=Fragment, language=GLSL100]
ERROR: 0:1306: '' : syntax error: preprocessor command must not be preceded by any other statement in that line
ERROR: 0:1306: 'premature EOF' : syntax error syntax errorMetadata
Metadata
Assignees
Labels
bugSomething that is supposed to work, but doesn't. More severe than a "defect".Something that is supposed to work, but doesn't. More severe than a "defect".