d3dx9: Implement D3DXFVFFromDeclarator.

misha680 misha680 at gmail.com
Tue Aug 31 11:48:45 CDT 2010



Henri Verbeet wrote:
> 
> On 31 August 2010 18:16, Misha Koshelev <misha680 at gmail.com> wrote:
>>> Well yes, but I'd say that ordering should apply to *any* FVF element,
>>> not just colors and normals. E.g., point size before position or
>>> texture before color should be just as untranslatable.
>> Thank you. I was not aware of these constraints.
>>
>> Is there, by any chance, a good place for this? I have been checking
>> the MSDN docs so far:
>> http://msdn.microsoft.com/en-us/library/bb147173%28VS.85%29.aspx
>> but at least upon my initial reads did not notice any such guidelines.
>>
> It's implied by the way FVFs work. (Think about it, "D3DFVF_XYZ |
> D3DFVF_DIFFUSE | D3DFVF_PSIZE" for example describes a very specific
> vertex buffer layout, if you translate a declaration to that, it
> should better describe that exact same layout.)
> 

Thank you. I had to check a reference but I think I understand now.

http://www.xmission.com/~legalize/book/download/05-Modeling.pdf

pg. 168

"The vertex components are laid out in memory in the same order as the
vertex components
listed in the table, starting with the position component.
#define D3DFVF_XYZ 0x002
#define D3DFVF_XYZRHW 0x004
#define D3DFVF_XYZB1 0x006
#define D3DFVF_XYZB2 0x008
#define D3DFVF_XYZB3 0x00a
#define D3DFVF_XYZB4 0x00c
#define D3DFVF_XYZB5 0x00e
#define D3DFVF_NORMAL 0x010
#define D3DFVF_PSIZE 0x020
#define D3DFVF_DIFFUSE 0x040
#define D3DFVF_SPECULAR 0x080
#define D3DFVF_TEX0 0x000
#define D3DFVF_TEX1 0x100
#define D3DFVF_TEX2 0x200
#define D3DFVF_TEX3 0x300
#define D3DFVF_TEX4 0x400
#define D3DFVF_TEX5 0x500
#define D3DFVF_TEX6 0x600
#define D3DFVF_TEX7 0x700
#define D3DFVF_TEX8 0x800
#define D3DFVF_LASTBETA_UBYTE4 0x1000
Every FVF must include a position with one of the D3DFVF XYZ, D3DFVF -
XYZRHW, D3DFVF XYZB1, D3DFVF XYZB2, D3DFVF XYZB3, D3DFVF XYZB4, or D3D-
FVF XYZB5. The remaining FVF flags are all optional."

D3DFVF_LASTBETA_D3DCOLOR is not present in the list above, but as, per
include/d3d9types.h:#define D3DFVF_LASTBETA_D3DCOLOR   0x8000
it is last, I assume it would also come last?

Thank you
Misha
-- 
View this message in context: http://wine.1045685.n5.nabble.com/Re-d3dx9-Implement-D3DXFVFFromDeclarator-tp2797874p2798354.html
Sent from the Wine - Devel mailing list archive at Nabble.com.



More information about the wine-devel mailing list