Hello,
I think a modification is needed in "com.jme.scene.state.lwjgl.LWJGLShaderObjectsState".
The function "isSupported()", who have to test if shading language is supported by hardware,
only one capability is tested : "GL_ARB_shader_objects", but, on some 3D cards, this capability
is supported but not the "GL_ARB_fragment_shader" (like my GeForce 4 TI4400 128Mo).
So, when I launch my program, it test if shaders are supported and it return true, so the
"lightning per pixel" mode is enabled, but don't work.
Today, the function "isSupported()" is like that :
public boolean isSupported() {
return GLContext.getCapabilities().GL_ARB_shader_objects
}
And this version of "isSupported()" resolve my problem :
public boolean isSupported() {
return GLContext.getCapabilities().GL_ARB_shader_objects &&
GLContext.getCapabilities().GL_ARB_fragment_shader &&
GLContext.getCapabilities().GL_ARB_vertex_shader &&
GLContext.getCapabilities().GL_ARB_shading_language_100;
}
Could you tell me what did you think about this proposition?
many thanks
Vince