Re: Cross-platform light issues
Posted by
Xerxes Rånby on
Jul 22, 2015; 11:04pm
URL: https://forum.jogamp.org/Cross-platform-light-issues-tp4034951p4034952.html
When you use "Fixed Function Pipeline", FFP, light is a feature that you enable or disable at the driver level.
You are likely able to expose many differences in OpenGL driver implementation when you are using the FFP.
If you check glError after each opengl call, you may discover that the Windows OpenGL driver returns an error that the light feature you tried to enable was not supported by the driver.
You can easily check glError after each opengl call without modifying your application by running your application with
-Djogl.debug.DebugGL
http://jogamp.org/wiki/index.php/How_to_use_the_Debug_and_Trace_GL_Pipeline_and_Debug_GL_ContextIf you want light inside your application to behave the same on all hardware and opengl drivers then it is highly recommend that you start using the programmable pipeline using shaders.
You are then in control how the light in your application should behave.
https://jogamp.org/jogl/doc/Overview-OpenGL-Evolution-And-JOGL.htmlThe default OpenGL driver shipped with Windows only implements OpenGL 1.1.
Thus it is expected that the default windows OpenGL driver is severely limited in functionality.
Most windows users workaround this limitation by installing an updated OpenGL driver from their GPU vendor such as nvidia or amd.
The only solution that Microsoft give to the driver situation is to ship your application with a precompiled opengl es -> direct3d translator that allow you to use programmabel shaders on all windows devices.
we have earmarked this as a potential future enhancement to bundle a precompiled opengl es -> direct 3d translator using lib ANGLE with jogl.
https://jogamp.org/bugzilla/show_bug.cgi?id=1179