Init
This commit is contained in:
@ -0,0 +1,98 @@
|
||||
|
||||
#ifndef GLOBALS_CG
|
||||
#define GLOBALS_CG
|
||||
|
||||
#define MAX_BONES 60
|
||||
|
||||
#if !defined(MAX_LIGHTS)
|
||||
#define MAX_LIGHTS 1
|
||||
#endif
|
||||
|
||||
#include <defines.cg>
|
||||
|
||||
BEGIN_CBUFFER(cbMesh0)
|
||||
CONST_TYPE float4x4 g_MVP;
|
||||
END_CBUFFER(cbMesh0)
|
||||
|
||||
BEGIN_CBUFFER(cbMesh)
|
||||
CONST_TYPE float4x4 g_modelMatrix;
|
||||
CONST_TYPE float4x4 g_modelViewMatrix;
|
||||
CONST_TYPE float4x4 g_modelViewProjMatrix;
|
||||
END_CBUFFER(cbMesh)
|
||||
|
||||
BEGIN_CBUFFER(cbFrame)
|
||||
CONST_TYPE float4x4 g_viewMatrix;
|
||||
CONST_TYPE float4x4 g_projMatrix;
|
||||
CONST_TYPE float3 g_eyePosition;
|
||||
CONST_TYPE float3 g_eyeDirection;
|
||||
END_CBUFFER(cbFrame)
|
||||
|
||||
BEGIN_CBUFFER(cbFrameInv)
|
||||
CONST_TYPE float4x4 g_invViewProjMatrix;
|
||||
END_CBUFFER(cbFrameInv)
|
||||
|
||||
#if defined USE_VTF
|
||||
CONST_TYPE sampler2D g_boneTexture; // Vertex texture to hold bone matrices
|
||||
#endif
|
||||
|
||||
BEGIN_CBUFFER(cbBones)
|
||||
CONST_TYPE float4x4 g_boneMatrices[MAX_BONES]; // TODO: change this to a float4x3 (a transposed 3x4) so we can pack more bones in...
|
||||
#if defined USE_VTF
|
||||
CONST_TYPE int g_boneTextureHeight; // Bone texture height
|
||||
#endif
|
||||
END_CBUFFER(cbBones)
|
||||
|
||||
BEGIN_CBUFFER(cbFog)
|
||||
CONST_TYPE float4 g_fogColorAndDistance;
|
||||
END_CBUFFER(cbFog)
|
||||
|
||||
BEGIN_CBUFFER(cbAmbient)
|
||||
CONST_TYPE float3 g_ambientColor;
|
||||
END_CBUFFER(cbAmbient)
|
||||
|
||||
BEGIN_CBUFFER(cbLight)
|
||||
CONST_TYPE float3 g_lightColor;
|
||||
CONST_TYPE float3 g_lightDirection;
|
||||
CONST_TYPE float3 g_lightPosition;
|
||||
CONST_TYPE float g_lightIntensity;
|
||||
CONST_TYPE float g_lightInnerRadius;
|
||||
CONST_TYPE float g_lightOuterRadius;
|
||||
CONST_TYPE float g_lightInnerCone;
|
||||
CONST_TYPE float g_lightOuterCone;
|
||||
END_CBUFFER(cbLight)
|
||||
|
||||
BEGIN_CBUFFER(cbScale)
|
||||
#if ENABLE_VFACE_SCALE
|
||||
CONST_TYPE float g_vfaceScale;
|
||||
#endif
|
||||
END_CBUFFER(cbScale)
|
||||
|
||||
// D3D11 expects rgba
|
||||
#if ENABLE_COLOR_SWIZZLE_SUPPORT
|
||||
BEGIN_CBUFFER(cbSwizzleColor)
|
||||
CONST_TYPE int g_bSwizzleColor;
|
||||
END_CBUFFER(cbSwizzleColor)
|
||||
half4 swizzle(half4 inColor) { return g_bSwizzleColor ? inColor.zyxw : inColor; }
|
||||
#else
|
||||
half4 swizzle(half4 inColor) { return inColor; }
|
||||
#endif
|
||||
|
||||
#if defined(RENDERER_D3D11)
|
||||
// D3D11 screen coordinates differ from GL/DX9
|
||||
BEGIN_CBUFFER(cbView2D)
|
||||
CONST_TYPE float4x4 g_viewMatrix2D;
|
||||
END_CBUFFER(cbView2D)
|
||||
#else
|
||||
static const float4x4 g_viewMatrix2D = {{1,0,0,0},{0,1,0,0},{0,0,1,0},{0,0,0,1}};
|
||||
#endif
|
||||
|
||||
#if defined(PASS_SPOT_LIGHT)
|
||||
// TODO: Make this less hacky, have a PASS_SUPPORTS_SHADOWS #define
|
||||
#define PASS_SUPPORTS_SHADOWS
|
||||
DECLARE_TEXTURE(g_lightShadowMap);
|
||||
BEGIN_CBUFFER(cbLightShadow)
|
||||
CONST_TYPE float4x4 g_lightShadowMatrix;
|
||||
END_CBUFFER(cbLightShadow)
|
||||
#endif
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user