Drawprim
Chris Ahrendt
celticht32 at aol.com
Sun Aug 24 14:56:54 CDT 2008
>Hmm. Does the application use a fixed function texture coordinate
>specified with D3DECLUSAGE_FLOAT4?
> It should be simple to support this. Essentially the "int coordsToUse
> = sd->u.s.texCoords[coordIdx].dwType + 1" is wrong, this needs a
> better mapping:
> decltype: coordsToUse:
> D3DDECLTYPE_FLOAT1 1
> D3DDECLTYPE_FLOAT2 2
> D3DDECLTYPE_FLOAT3 3
> D3DDECLTYPE_FLOAT4 4
> D3DDECLTYPE_D3DCOLOR 4
> D3DDECLTYPE_UBYTE4 4
> D3DDECLTYPE_SHORT2 2
> D3DDECLTYPE_SHORT4 4
> D3DDECLTYPE_UBYTE4N 4
> D3DDECLTYPE_SHORT2N 2
> D3DDECLTYPE_SHORT4N 4
> D3DDECLTYPE_USHORT2N 2
> D3DDECLTYPE_USHORT4N 4
> D3DDECLTYPE_UDEC3 ???
> D3DDECLTYPE_DEC3N ???
> D3DDECLTYPE_FLOAT16_2 2
> D3DDECLTYPE_FLOAT16_4 4
> Also the function calls below shouldn't be selected based on a
> switch-case statement, but rather on the declaration itself. q, r, t
> and s should be read in a different way too. The system used for
> providing other parameters like diffuse_funcs sounds sane here,
> although some extra care is needed to keep working without
> GL_ARB_multitexture support.
> Also I strongly recommend writing a test here. Generally, fixed
> function attributes with non-standard data types are spooky on
> Windows, so the real problem may be somewhere else.
I could not answer that it uses a drawprim float 4 before it calls
drawprim with the 7 parm. I started to work on a better fix for this
rather than the one where I just added the extra values in. But the
extra values seemed to solve it. While I am not sure its behavior on
windows calling the same call (whatever that call is).
Correct in some cases the vertex is a short or a byte that must be
normalized. However I am assuming or assumed that that is done by the
application calling the API and not the actual API itself. This
assumption seems to work but not 100% sure as I don't know how it works
on windows.
The DEC 3 and DEC3N specify 3 variables q,r,t with the 4th being I think
the link said a 1. The N specifies if the values are normalized.
Chris
More information about the wine-devel
mailing list