// Matrices
float4x4 World				: register(c0);
float4x4 View;
float4x4 Proj;
float4x4 ViewProj;

// Lights
float4x4 LightAdjustment;

float3 LightPos;
float3 LightAmbient;
float3 LightDiffuse;
float3 LightSpecular;
float ZNear;
float InvZRange;

// Camera
#ifndef CAMPOS_DEFINED
#define CAMPOS_DEFINED
float3 CamPos;
#endif

float FogNear;
float InvFogRange;
float3 FogColor;

// CamSpace
float4 MatDiffuse;
float4x4 InvViewRotation;

float4x4 LightAdjustment4[4];

float3 GlobalLightAmbient;

float3 GlobalLightDiffuse[3];
float3 GlobalLightDir[3];

#define FOG_DEFINED