Am Freitag, 11. April 2008 17:22:20 schrieb Chris Robinson:
In all cases, it should pick one and stick with it through the life of the process, for both D3D shaders and D3D fixed-function. Don't use atifs if ARB is available, don't use GLSL if nv-supplimented ARB is available, etc.
There are three issues that lead to this discussion:
*) We may want to mix shader backends. GLSL is a pain on MacOS at least on the vertex side, but it works okish on the fragment shader side. It may be helpful to compile a ARB vertex shader and a GLSL pixel shader. Also an ARB replacement may be faster there because the GLSL compiler on MacOS often creates slow code.
*) We have an NVTS and ATIFS replacement now, but no ARB or GLSL fragment processing code, and it would be cool if we can make use of the ATIFS code on newer cards as well. NVTS currently works because it is included in the baseshader/fixed function backend.
*) It's also about getting the design right in principle, and finding a design that doesn't need an entire rework when dx10 and geometry shaders are introduced.