Strangeness since updating to Beta [SOLVED]

Have been so busy at work, this is the first chance I have had to update to the latest version (went from Alpha 4 to Beta).



When I ran the game I have been working on, my graphics card freaked out (all colored lines running vertically on the screen) and I had to reboot my machine to fix the issue.



Seeeeeew… I loaded a model into the scene viewer and got the following error. Not sure exactly where to start to fix the issue. Here be the error:



Error in scene!

(com.jme3.renderer.RendererException: Shader link failure, shader:Shader[language=GLSL100, numSources=2, numUniforms=16, shaderSources=[ShaderSource[name=Common/MatDefs/Light/Lighting.vert, defines, type=Vertex], ShaderSource[name=Common/MatDefs/Light/Lighting.frag, defines, type=Fragment]]] info:Fragment shader(s) failed to link, vertex shader(s) linked.



Ideas? Thoughts? Has something drastic changed in the lighting? (I saw that setLastDistance was removed) Is there an updated Ogre export that I need to use with Blender?



Funny enough, I was worried about changes Nifty… thus the holdup on updating.



Thanks in advance!

tried to update you graphic card drivers?

Updated to latest drivers… no love :frowning:



Still get:



Error in scene!

(com.jme3.renderer.RendererException: Shader link failure, shader:Shader[language=GLSL100, numSources=2, numUniforms=16, shaderSources=[ShaderSource[name=Common/MatDefs/Light/Lighting.vert, defines, type=Vertex], ShaderSource[name=Common/MatDefs/Light/Lighting.frag, defines, type=Fragment]]] info:Fragment shader(s) failed to link, vertex shader(s) linked.



Video crap… err card is:



RADEON X700 PRO … yeah, I figure if the game runs on this machine, it will run on just about anything >.<

I hope you eventually figure out the error because there are a few Mythruna users that also get this same problem.



The issue is that because the driver writers for this card didn’t see fit to provide a useful error message, the only way to track it down is to just try a bunch of random stuff until it works. The error gives us nothing to go on and so some shader expert needs to have the actual card in his machine to find the problem.

I’m guessing there is no way to narrow it down from Alpha 4 to Beta changes in the material lighting? If I run the app in Alpha 4, everything works fine. But, I have NO CLUE, what changes were implemented.



Guess it’s time to buy a new video card. Is there a list of suggested?



Thanks in advance!

@t0neg0d said:
I'm guessing there is no way to narrow it down from Alpha 4 to Beta changes in the material lighting? If I run the app in Alpha 4, everything works fine. But, I have NO CLUE, what changes were implemented.


Well, that's something at least.

If you were highly motivated, you could checkout different SVN revisions between alpha 4 and beta and see which one broke the shader. You should be able to get away with just checking the shader itself since I believe nothing framework-specific was changed that would make Lighting not work at any point.

...it's what I would do if this problem were with my own hardware.

I’d be more than happy to do this, however, I have no clue where the SVN revisions are kept. If you have a link… I’ll start looking :slight_smile:



Thanks you!



Actually… where would I find the actual .frag files? I’d like to at least compare those.

Look up top of this page…

Downloads->GoogleCode

Source

Browse

svn/trunk/engine/src/core-data/Common/MatDefs/Light

Seems there have been numerous changes… since Alpha release. However, most of them focus around paralax mapping.



Does this mean anything to anyone? Any chance that this may point towards the issue?



I’m not overly concerned… as I don’t mind updating my dev machine with a better video card, however, If the problem is with all Radeon X series video cards, that would suck. Sheet or not, they’re still widely used :frowning:



Thanks!

What you can do is copy Lighting.j3md into your assets folder along with its .frag and .vert. Change the references in that Lighting.j3md to your local .frag and .vert.



Change your code to use your local Lighting.j3md.



Then you will be able to iterate your local copy and see if you can figure out which change broke your card.

1 Like

I’m having the same problem on my old notebook (ATi Mobility Radeon 9700, 128 MB VRAM). Caps-wise, it should work I think. Would be nice if “Lighting.*” could be fixed. Otherwise one had to make it’s own “Lighting-lite”.



Graphics Capabilities


FrameBuffer
FrameBufferMRT
FrameBufferMultisample
OpenGL20
OpenGL21
ARBprogram
GLSL100
GLSL110
GLSL120
FloatTexture
NonPowerOfTwoTextures
VertexBufferArray
@survivor said:
I'm having the same problem on my old notebook (ATi Mobility Radeon 9700, 128 MB VRAM). Caps-wise, it should work I think. Would be nice if "Lighting.*" could be fixed. Otherwise one had to make it's own "Lighting-lite".


Do you get the exact same error or does it include more information?

The funny thing, as soon as I see that error I know instantly it was an ATI card... for some reason I guess their devs went through a period of great pain and suffering and they decided to pass it on by spitting out useless messages. :P

[java]

09.01.2012 01:37:58 com.jme3.app.Application handleError

SCHWERWIEGEND: Uncaught exception thrown in Thread[LWJGL Renderer Thread,5,main]



com.jme3.renderer.RendererException: Shader link failure, shader:Shader[language

=GLSL100, numSources=2, numUniforms=18, shaderSources=[ShaderSource[name=Common/

MatDefs/Light/Lighting.vert, defines, type=Vertex], ShaderSource[name=Materials/

Lighting.frag, defines, type=Fragment]]] info:Fragment shader(s) failed to link, vertex shader(s) linked.



at com.jme3.renderer.lwjgl.LwjglRenderer.updateShaderData(LwjglRenderer.java:1081)

at com.jme3.renderer.lwjgl.LwjglRenderer.setShader(LwjglRenderer.java:1116)

at com.jme3.material.Material.renderMultipassLighting(Material.java:781)

at com.jme3.material.Material.render(Material.java:1010)

at com.jme3.renderer.RenderManager.renderGeometry(RenderManager.java:649)

at com.jme3.renderer.queue.RenderQueue.renderGeometryList(RenderQueue.java:299)

at com.jme3.renderer.queue.RenderQueue.renderQueue(RenderQueue.java:351)

at com.jme3.renderer.RenderManager.renderViewPortQueues(RenderManager.java:886)

at com.jme3.renderer.RenderManager.flushQueue(RenderManager.java:842)

at com.jme3.renderer.RenderManager.renderViewPort(RenderManager.java:1118)

at com.jme3.renderer.RenderManager.render(RenderManager.java:1160)

at com.jme3.app.SimpleApplication.update(SimpleApplication.java:266)

at com.jme3.system.lwjgl.LwjglAbstractDisplay.runLoop(LwjglAbstractDisplay.java:149)

at com.jme3.system.lwjgl.LwjglDisplay.runLoop(LwjglDisplay.java:178)

at com.jme3.system.lwjgl.LwjglAbstractDisplay.run(LwjglAbstractDisplay.java:223)

at java.lang.Thread.run(Unknown Source)

AL lib: ReleaseALC: 1 device not closed

[/java]

“Fragment shader(s) failed to link, vertex shader(s) linked.”



But why ATI devs, why???



:evilmonkey:



:slight_smile:

@pspeed: The latest revision (r9009) of Lighting.vert and Lighting.frag works. Yippie, GL2 on my notebook! :smiley:

1 Like

Just confirming that this seems to not be an issue with the latest frag/vert files. Thanks a ton to whoever looked into this!

1 Like

I have to bump this once more.



@nehon

@pspeed

@shadowislord // whoever that is



Please clamp the alpha to [0.0, 1.0]. Otherwise, it looks like this on some older hardware:

http://www.youtube.com/watch?v=2aq6uPQFcnM



Never mind! It's caused by ...
[java]
AdditionalRenderState {
PolyOffset 0.0 0.0
}
[/java]
... which was in my material files for some reason.

shadowislord is actually @momoko_fan



He’s the one who would tell us what breaks with this change (or not). :slight_smile:

So apparently its due to the old J3M resetting render state bug in jMP.

Make sure your material files don’t have any unnecessary render state statements!