H. Verbeet wrote:
On 17/06/06, Vitaly Budovski <[EMAIL PROTECTED]> 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...