June 17, 2006
9:35 p.m.
H. Verbeet wrote: > On 17/06/06, Vitaly Budovski <vbudovsk(a)cs.rmit.edu.au> wrote: >> Comments? > A few points: > - Taking only the first element of the declaration into account > seems unlikely to be correct > - Is there a reason you're using pDeclaration9 instead of > pDeclarationWine? It would be usefull if dx8 applications worked as > well. > - Let's not dump large amounts of code in > IWineD3DDeviceImpl_SetVertexDeclaration Ditto. I should note that fixing the fvf -> decl conversion seems rather important, because the FVF loading code will not work with a vertex shader at the moment - as far as I can see this will break 3 more demos, so that brings the count of broken demos up to 5 (ASCII, Sketch, RollerCoaster, dx9_hlsl_* (2) ). Those demos will set a shader, and then call SetFVF() afterwards (but primitiveConvertToStridedData will see that shader != NULL and will not do anything) The current code has 2 routines - primitiveConvertToStridedData (for FVF) and primitiveDeclarationConvertToStridedData (for declaration). It seems as if the FVF should just be converted to a declaration when it is set, and a single function should be used afterwards. I could be wrong though, haven't looked at this in great detail yet...