64 lines
2.1 KiB
C++
64 lines
2.1 KiB
C++
#include "math/LifeMath.h"
|
|
|
|
namespace LifeGraphics
|
|
{
|
|
enum VERTEX_FORMAT
|
|
{
|
|
VF_POSITION = 0,
|
|
VF_TEXCOORD = 1 << 0
|
|
};
|
|
namespace Vertex
|
|
{
|
|
struct SVertex
|
|
{
|
|
LifeMath::float3 Position;
|
|
LifeMath::float2 Texcoord;
|
|
LifeMath::float3 Normal;
|
|
static int Stride(){ return sizeof(LifeMath::float3) * 2 + sizeof(LifeMath::float2); }
|
|
};
|
|
|
|
struct SVertexTbn
|
|
{
|
|
LifeMath::float3 Position;
|
|
LifeMath::float2 Texcoord;
|
|
LifeMath::float3 Normal;
|
|
LifeMath::float3 Tangent;
|
|
LifeMath::float3 Binormal;
|
|
static int Stride(){ return sizeof(LifeMath::float3) * 4 + sizeof(LifeMath::float2); }
|
|
};
|
|
|
|
struct SVertexTbnSkin
|
|
{
|
|
LifeMath::float3 Position;
|
|
LifeMath::float2 Texcoord;
|
|
LifeMath::float3 Normal;
|
|
LifeMath::float3 Tangent;
|
|
LifeMath::float3 Binormal;
|
|
LifeMath::float4 BlendIndices;
|
|
LifeMath::float4 BlendWeights;
|
|
static int Stride(){ return sizeof(LifeMath::float3) * 4 + sizeof(LifeMath::float2) + sizeof(LifeMath::float4) * 2; }
|
|
};
|
|
|
|
/*if(header.expSkin)
|
|
{
|
|
numElements = 7;
|
|
elements = new IInputElement[numElements];
|
|
elements[0] = IInputElement("POSITION", 0, 0, FORMAT_R32G32B32_FLOAT, 0, 0, 0);
|
|
elements[1] = IInputElement("TEXCOORD", 0, 12, FORMAT_R32G32_FLOAT, 0, 0, 0);
|
|
elements[2] = IInputElement("NORMAL", 0, 20, FORMAT_R32G32B32_FLOAT, 0, 0, 0);
|
|
elements[3] = IInputElement("TANGENT", 0, 32, FORMAT_R32G32B32_FLOAT, 0, 0, 0);
|
|
elements[4] = IInputElement("BINORMAL", 0, 44, FORMAT_R32G32B32_FLOAT, 0, 0, 0);
|
|
elements[5] = IInputElement("BLENDINDICES", 0, 56, FORMAT_R32G32B32A32_FLOAT, 0, 0, 0);
|
|
elements[6] = IInputElement("BLENDWEIGHT", 0, 72, FORMAT_R32G32B32A32_FLOAT, 0, 0, 0);
|
|
}
|
|
else
|
|
{
|
|
elements = new IInputElement[numElements];
|
|
elements[0] = IInputElement("POSITION", 0, 0, FORMAT_R32G32B32_FLOAT, 0, 0, 0);
|
|
elements[1] = IInputElement("TEXCOORD", 0, 12, FORMAT_R32G32_FLOAT, 0, 0, 0);
|
|
elements[2] = IInputElement("NORMAL", 0, 20, FORMAT_R32G32B32_FLOAT, 0, 0, 0);
|
|
elements[3] = IInputElement("TANGENT", 0, 32, FORMAT_R32G32B32_FLOAT, 0, 0, 0);
|
|
elements[4] = IInputElement("BINORMAL", 0, 44, FORMAT_R32G32B32_FLOAT, 0, 0, 0);
|
|
}*/
|
|
}
|
|
} |