Ok, this is completely insane. Please believe me anyway.
I have a simple program which draws two triangles using jogl.
Triangle A uses gl.glColor3d(0.9, 1.0, 0);
Triangle B uses a glsl shader.
Triangle B's fragment shader looks like this:
When I run the program normally, both triangles are yellow.
If I run it with javaws, triangle B (the glsl triangle) is green!
In fact, every color value < 1.0 (in the fragment shader !!) is treated as 0.0
when I run the application with javaws.
I could track the problem back to
GtkLookAndFeel.initialize() which is called by javaws.
When I add new GtkLookAndFeel().initialize() as the first line of my
application, triangle B is also green when I run it directly with java (without
javaws). Reverting to MetalLookAndFeel does not help.
How the hell can GtkLookAndFeel break a glsl shader???
jdk 1.6.0-b105 linux i386