Files
LifeProject/LifeGraphics/Vertex.h
T
2025-05-13 02:46:21 +03:00

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);
}*/
}
}