aboutsummaryrefslogtreecommitdiff
path: root/APEX_1.4/media/SampleRenderer/4/shaders/include/globals.cg
diff options
context:
space:
mode:
authorSheikh Dawood Abdul Ajees <[email protected]>2017-09-15 15:41:57 -0500
committerSheikh Dawood Abdul Ajees <[email protected]>2017-09-15 15:41:57 -0500
commitd1c812f1162e5fdb13c215792725b2591d7428f5 (patch)
tree407056c45c7e9320c48fca6a3697d81a061c4ea0 /APEX_1.4/media/SampleRenderer/4/shaders/include/globals.cg
parentPhysX 3.4, APEX 1.4 patch release @22121272 (diff)
downloadphysx-3.4-d1c812f1162e5fdb13c215792725b2591d7428f5.tar.xz
physx-3.4-d1c812f1162e5fdb13c215792725b2591d7428f5.zip
PhysX 3.4.1, APEX 1.4.1 Release @22845541v3.4.1
Diffstat (limited to 'APEX_1.4/media/SampleRenderer/4/shaders/include/globals.cg')
-rw-r--r--APEX_1.4/media/SampleRenderer/4/shaders/include/globals.cg102
1 files changed, 102 insertions, 0 deletions
diff --git a/APEX_1.4/media/SampleRenderer/4/shaders/include/globals.cg b/APEX_1.4/media/SampleRenderer/4/shaders/include/globals.cg
new file mode 100644
index 00000000..682ab70f
--- /dev/null
+++ b/APEX_1.4/media/SampleRenderer/4/shaders/include/globals.cg
@@ -0,0 +1,102 @@
+
+#ifndef GLOBALS_CG
+#define GLOBALS_CG
+
+#ifdef RENDERER_PS3
+#define MAX_BONES 50
+#else
+#define MAX_BONES 60
+#endif
+
+#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