--- Raphael fenix@club-internet.fr wrote:
Hi,
Changelog:
- defined D3DCOLOR_B macros to access byte values of D3DCOLOR
- use D3DCOLOR macros instead of using shift + masks
- fix a bug where diffuse.lpData checked instead of specular.lpData
- implement color fixup on ARB VShader compilation code: -> on input parameters using swizzle -> add is_color parameter on vshader_program_add_param
The input swizzel needs to be an output swizzel because it should be possible to use anything to generate a colour for output and not just the input colours, that should also get around the is_colour problem.
Having thought about it again the swizell need to be on the input, it shouldn't be too hard to work out which inputs need to be swizelled in the parser first pass.
i think the same :) anyway i have added is_color on output_param if you want to try ... :p (i think only a few few few games may have problems with that this sizzle on input params)
Having slept on the problem I don't think many games (if any) are going to use ARGB colours for anything other than the diffuse and specular colour inputs, all the textures will be in the correct order and so are the shader constants. If a game does use any unexpected colours inputs the shader can always be compiled with those inputs swizzled too.
Oliver
Regards, Raphael
___________________________________________________________ To help you stay safe and secure online, we've developed the all new Yahoo! Security Centre. http://uk.security.yahoo.com