#ifndef D3D11 // D3D9 uniforms (no constant buffers) #ifdef COMPILEVS // Vertex shader uniforms uniform float3 cAmbientStartColor; uniform float3 cAmbientEndColor; #ifdef BILLBOARD uniform float3x3 cBillboardRot; #endif uniform float3 cCameraPos; uniform float cNearClip; uniform float cFarClip; uniform float4 cDepthMode; uniform float cDeltaTime; uniform float cElapsedTime; uniform float3 cFrustumSize; uniform float4 cGBufferOffsets; uniform float4 cLightPos; uniform float3 cLightDir; uniform float4 cNormalOffsetScale; uniform float4x3 cModel; uniform float4x3 cView; uniform float4x3 cViewInv; uniform float4x4 cViewProj; uniform float4 cUOffset; uniform float4 cVOffset; uniform float4x3 cZone; #ifdef SKINNED uniform float4x3 cSkinMatrices[MAXBONES]; #endif #ifdef NUMVERTEXLIGHTS uniform float4 cVertexLights[4*3]; #else uniform float4x4 cLightMatrices[4]; #endif #endif #ifdef COMPILEPS // Pixel shader uniforms uniform float4 cAmbientColor; uniform float3 cCameraPosPS; uniform float cDeltaTimePS; uniform float4 cDepthReconstruct; uniform float cElapsedTimePS; uniform float4 cFogParams; uniform float3 cFogColor; uniform float2 cGBufferInvSize; uniform float4 cLightColor; uniform float4 cLightPosPS; uniform float3 cLightDirPS; uniform float4 cNormalOffsetScalePS; uniform float4 cMatDiffColor; uniform float3 cMatEmissiveColor; uniform float3 cMatEnvMapColor; uniform float4 cMatSpecColor; #ifdef PBR uniform float cRoughness; uniform float cMetallic; uniform float cLightRad; uniform float cLightLength; #endif uniform float3 cZoneMin; uniform float3 cZoneMax; uniform float cNearClipPS; uniform float cFarClipPS; uniform float4 cShadowCubeAdjust; uniform float4 cShadowDepthFade; uniform float2 cShadowIntensity; uniform float2 cShadowMapInvSize; uniform float4 cShadowSplits; uniform float4x4 cLightMatricesPS[4]; #ifdef VSM_SHADOW uniform float2 cVSMShadowParams; #endif #endif #else // D3D11 uniforms (using constant buffers) #ifdef COMPILEVS // Vertex shader uniforms cbuffer FrameVS : register(b0) { float cDeltaTime; float cElapsedTime; } cbuffer CameraVS : register(b1) { float3 cCameraPos; float cNearClip; float cFarClip; float4 cDepthMode; float3 cFrustumSize; float4 cGBufferOffsets; float4x3 cView; float4x3 cViewInv; float4x4 cViewProj; float4 cClipPlane; } cbuffer ZoneVS : register(b2) { float3 cAmbientStartColor; float3 cAmbientEndColor; float4x3 cZone; } cbuffer LightVS : register(b3) { float4 cLightPos; float3 cLightDir; float4 cNormalOffsetScale; #ifdef NUMVERTEXLIGHTS float4 cVertexLights[4 * 3]; #else float4x4 cLightMatrices[4]; #endif } #ifndef CUSTOM_MATERIAL_CBUFFER cbuffer MaterialVS : register(b4) { float4 cUOffset; float4 cVOffset; } #endif cbuffer ObjectVS : register(b5) { float4x3 cModel; #ifdef BILLBOARD float3x3 cBillboardRot; #endif #ifdef SKINNED uniform float4x3 cSkinMatrices[MAXBONES]; #endif } #endif #ifdef COMPILEPS // Pixel shader uniforms cbuffer FramePS : register(b0) { float cDeltaTimePS; float cElapsedTimePS; } cbuffer CameraPS : register(b1) { float3 cCameraPosPS; float4 cDepthReconstruct; float2 cGBufferInvSize; float cNearClipPS; float cFarClipPS; } cbuffer ZonePS : register(b2) { float4 cAmbientColor; float4 cFogParams; float3 cFogColor; float3 cZoneMin; float3 cZoneMax; } cbuffer LightPS : register(b3) { float4 cLightColor; float4 cLightPosPS; float3 cLightDirPS; float4 cNormalOffsetScalePS; float4 cShadowCubeAdjust; float4 cShadowDepthFade; float2 cShadowIntensity; float2 cShadowMapInvSize; float4 cShadowSplits; float2 cVSMShadowParams; float4x4 cLightMatricesPS[4]; #ifdef PBR float cLightRad; float cLightLength; #endif } #ifndef CUSTOM_MATERIAL_CBUFFER cbuffer MaterialPS : register(b4) { float4 cMatDiffColor; float3 cMatEmissiveColor; float3 cMatEnvMapColor; float4 cMatSpecColor; #ifdef PBR float cRoughness; float cMetallic; #endif } #endif #endif #endif