--- Christoph Frick frick@sc-networks.de wrote:
hiho,
i encountered the following problem with Live For Speed [1]: once i setup my car and choose a color for it red and blue are swaped. also i got a FIXME there from: dlls/d3d8/vshaderdeclaration.c:675 (the case for D3DVSDT_D3DCOLOR).
so i tried various things to put data in the hardware, but none worked - most of the time the car/game had simply extreme strange colors. so my approach (the obvious: get data from curPos, honouring skip and put it in my own 4 byte array, then call the glVertexAttribPointerARB with my array and skip=0) does not work at all - especially because i really dont have any clue about vertex shading at all, i guess.
my assumtion: opengl takes for the 4 bytes RGBA->XYZW and D3DCOLOR is BGRA->XYZW (thats also what the software branch of this method wants).
any ideas?
You need to swizel the colour on the outputs of the vertex shader from BGRA to RGBA.
Oliver.
-- cu
___________________________________________________________ Yahoo! Messenger - NEW crystal clear PC to PC calling worldwide with voicemail http://uk.messenger.yahoo.com