- if (use_vs(stateblock->wineD3DDevice) && stateblock->wineD3DDevice->vs_selected_mode == SHADER_ARB)
GLSL specific logic should go in glsl_shader.c.
Please try to get away from writing code in terms of flags and if statements - use the OOP model. Backend-specific logic should be removed from pixelshader and vertexshader too...
Am Donnerstag, 1. November 2007 02:01:14 schrieb Ivan Gyurdiev:
- if (use_vs(stateblock->wineD3DDevice) &&
stateblock->wineD3DDevice->vs_selected_mode == SHADER_ARB)
GLSL specific logic should go in glsl_shader.c.
Please try to get away from writing code in terms of flags and if statements - use the OOP model. Backend-specific logic should be removed from pixelshader and vertexshader too...
We've had this discussion over and over, but I'm not too fond of pressing everything into an OOP model by force. I agree it is useful in general, and I'm currently working on making the surface type organisation more OOPish. However, in this special case the state management collides with shader differences. Adding a shader model callback for every of those cases doesn't make the code more readable IMHO.
I agree that the backend specific code in GenerateShader in vertexshader.c / pixelshader.c should be moved to arb / glsl backends. Then we'd get vertex and pixel shader specifics into arb / glsl, but we can't avoid those anyway.