2013-11-21 13:50:43 +01:00
|
|
|
#include "OysterMath.h"
|
2013-12-18 20:28:06 +01:00
|
|
|
#pragma once
|
2013-11-21 13:50:43 +01:00
|
|
|
|
|
|
|
namespace Oyster
|
|
|
|
{
|
|
|
|
namespace Graphics
|
|
|
|
{
|
|
|
|
namespace Definitions
|
|
|
|
{
|
|
|
|
struct ObjVertex
|
|
|
|
{
|
|
|
|
Oyster::Math::Float3 pos;
|
|
|
|
Oyster::Math::Float2 uv;
|
|
|
|
Oyster::Math::Float3 normal;
|
|
|
|
};
|
2013-11-21 18:31:16 +01:00
|
|
|
|
2014-01-08 07:01:59 +01:00
|
|
|
struct PerModel
|
|
|
|
{
|
|
|
|
Math::Matrix WV;
|
|
|
|
Math::Matrix WVP;
|
|
|
|
};
|
|
|
|
|
2013-11-26 09:09:35 +01:00
|
|
|
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;
|
|
|
|
};
|
|
|
|
|
2013-12-18 20:28:06 +01:00
|
|
|
struct LightConstants
|
|
|
|
{
|
|
|
|
Math::Float4x4 InvProj;
|
2014-01-08 07:01:59 +01:00
|
|
|
Math::Float4x4 Proj;
|
2013-12-18 20:28:06 +01:00
|
|
|
Math::Float2 Pixels;
|
|
|
|
int Lights;
|
2014-01-08 07:01:59 +01:00
|
|
|
float SSAORadius;
|
2013-12-18 20:36:41 +01:00
|
|
|
Oyster::Math::Float4x4 View;
|
2013-12-18 20:28:06 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
struct Pointlight
|
|
|
|
{
|
|
|
|
Math::Float3 Pos;
|
|
|
|
float Radius;
|
|
|
|
Math::Float3 Color;
|
|
|
|
float Bright;
|
|
|
|
};
|
|
|
|
|
2014-01-27 14:24:13 +01:00
|
|
|
struct AnimationData
|
|
|
|
{
|
2014-02-05 16:00:28 +01:00
|
|
|
Math::Float4x4 AnimatedData[100];
|
2014-01-27 14:24:13 +01:00
|
|
|
int Animated;
|
|
|
|
Math::Float3 Pad;
|
|
|
|
};
|
|
|
|
|
2014-02-07 11:09:59 +01:00
|
|
|
struct GuiData
|
|
|
|
{
|
|
|
|
Math::Matrix Translation;
|
|
|
|
};
|
|
|
|
|
2013-11-21 13:50:43 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|