Danbias/Code/OysterGraphics/Definitions/GraphicalDefinition.h

66 lines
1.0 KiB
C++

#include "OysterMath.h"
#pragma once
namespace Oyster
{
namespace Graphics
{
namespace Definitions
{
struct ObjVertex
{
Oyster::Math::Float3 pos;
Oyster::Math::Float2 uv;
Oyster::Math::Float3 normal;
};
struct PerModel
{
Math::Matrix WV;
Math::Matrix WVP;
};
struct FinalVertex
{
Oyster::Math::Float3 pos;
Oyster::Math::Float2 uv;
Oyster::Math::Float3 normal;
Oyster::Math::Float3 tangent;
Oyster::Math::Float3 biTangent;
Oyster::Math::Float4 boneIndex;
Oyster::Math::Float4 boneWeights;
};
struct LightConstants
{
Math::Float4x4 InvProj;
Math::Float4x4 Proj;
Math::Float2 Pixels;
int Lights;
float SSAORadius;
Oyster::Math::Float4x4 View;
};
struct Pointlight
{
Math::Float3 Pos;
float Radius;
Math::Float3 Color;
float Bright;
};
struct AnimationData
{
Math::Float4x4 AnimatedData[100];
int Animated;
Math::Float3 Pad;
};
struct GuiData
{
Math::Matrix Translation;
};
}
}
}