Shader Language

I read in the documentation that GLSL should be preferred for shading because NVIDIA has stopped supporting CG. Does this mean that Panda 3D can only work with OpenGl?On the other hand, does this mean that using DirectX on machines with non-NVidia graphics cards will not work?



Yes, GLSL is preferred, also GLSL is for OpenGL, so OpenGL backend is preferred too. It would work with non-NVidia cards too. DirectX backend uses HLSL instead of GLSL so it will not work no matter what graphic card you are going to use.

There is a new shader pipeline / crosscompiler in development, which can convert GLSL to HLSL for DirectX. But it still work in progress.

The new shader pipeline, in which GLSL shaders are automatically cross-compiled to HLSL, is already working quite well and will be part of Panda 1.11.


Thanks for your answers.