forse sto diventando scemo io, o non so...
fatto sta che sto avendo u problema con Directx/C++...
sto convertendo i tutorial di riemer in c++/dx9.0, ma mi sta dando qualche grattacapo già la prima struct...
C#/XNA
Codice:
public struct VertexMultitextured
{
public Vector3 Position;
public Vector3 Normal;
public Vector4 TextureCoordinate;
public Vector4 TexWeights;
public static int SizeInBytes = (3 + 3 + 4 + 4) * 4;
public static VertexElement[] VertexElements = new VertexElement[]
{
new VertexElement( 0, 0, VertexElementFormat.Vector3, VertexElementMethod.Default, VertexElementUsage.Position, 0 ),
new VertexElement( 0, sizeof(float) * 3, VertexElementFormat.Vector3, VertexElementMethod.Default, VertexElementUsage.Normal, 0 ),
new VertexElement( 0, sizeof(float) * 6, VertexElementFormat.Vector4, VertexElementMethod.Default, VertexElementUsage.TextureCoordinate, 0 ),
new VertexElement( 0, sizeof(float) * 10, VertexElementFormat.Vector4, VertexElementMethod.Default, VertexElementUsage.TextureCoordinate, 1 ),
};
}
questa la conversione
C++/Dx9
Codice:
typedef struct VertexMultitextured
{
public:
D3DXVECTOR3 Position;
D3DXVECTOR3 Normal;
D3DXVECTOR4 TextureCoordinate;
D3DXVECTOR4 TexWeight;
static const int SizeInBytes = ( 3 + 3 + 4 + 4 ) * 4;
static D3DVERTEXELEMENT9 VertexElements[] =
{
{ 0, 0, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_POSITION, 0 },
{ 0, sizeof( float ) *3, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_NORMAL, 0 },
{ 0, sizeof( float ) *6, D3DDECLTYPE_FLOAT4, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TEXCOORD, 0 },
{ 0, sizeof( float ) *10, D3DDECLTYPE_FLOAT4, D3DDECLMETHOD_DEFAULT, D3DDECUSAGE_TEXCOORD, 1 },
};
} VertexMultitextured;
cosa canno?
non mi sembra sia sbagliata [ poteri anche sbagliarmi... ]