Why doesn O3D use OpenGLs shading language (GLSL)?
There are a number of reasons we decided against using GLSL as our standard shading language: • Many OpenGL drivers are not in compliance with the GLSL specification and can fail to compile shaders for arbitrary undocumented reasons. • On some graphics hardware capable of programmable shading, the OpenGL driver does not support GLSL, even though the hardware would be capable of it (and has a DirectX9 driver). • Drivers that are in compliance with the specification are allowed to fall back to software rendering for difficult shaders, but there is no way to determine if a given shader will cause a software fallback. This results in unpredictable performance. • There is no well-defined minimum specification that is guaranteed to execute in hardware on all platforms.