Shaders for Shadows
Shader code for rendering shadows of translucent occluders, soft shadows and single scattering with moment shadow maps.
 All Classes Files Functions Variables Pages
TexCoord.fx
1 
3 void VSPassTexCoordDim1(out float1 TexCoordOut,float1 TexCoord){
4  TexCoordOut=TexCoord;
5 }
6 
9 void VSPassTexCoordDim2(out float2 TexCoordOut,float2 TexCoord){
10  TexCoordOut=TexCoord;
11 }
12 
15 void VSPassTexCoordDim3(out float3 TexCoordOut,float3 TexCoord){
16  TexCoordOut=TexCoord;
17 }
18 
21 void VSPassTexCoordDim4(out float4 TexCoordOut,float4 TexCoord){
22  TexCoordOut=TexCoord;
23 }
24 
28 void VSComputeReflectionVector(out float3 ReflectionVectorOut,float3 WorldSpaceNormal,float4 WorldSpacePosition,float3 WorldSpaceCameraPosition){
29  float3 DifferenceVector=WorldSpacePosition.xyz-WorldSpaceCameraPosition;
30  ReflectionVectorOut=normalize(DifferenceVector-(2*dot(WorldSpaceNormal,DifferenceVector))*WorldSpaceNormal);
31 }
32 
35 void VSPassProjSpacePosition(out float4 TexCoordOut,float4 ProjectionSpacePosition){
36  TexCoordOut=ProjectionSpacePosition;
37 }
38 
40 void VSTransformTexCoordDim1(out float1 TexCoordOut,float1 TexCoord,float2x2 Transformation){
41  TexCoordOut.x=TexCoord.x*Transformation._11+Transformation._12;
42 }
43 
45 void VSTransformTexCoordDim2(out float2 TexCoordOut,float2 TexCoord,float3x3 Transformation){
46  TexCoordOut=mul(float3(TexCoord,1.0f),Transformation).xy;
47 }
48 
49 
51 void VSTransformTexCoordDim3(out float3 TexCoordOut,float3 TexCoord,float4x4 Transformation){
52  TexCoordOut=mul(float4(TexCoord,1.0f),Transformation).xyz;
53 }
54 
56 void VSTransformTexCoordDim4(out float4 TexCoordOut,float4 TexCoord,float4x4 Transformation){
57  TexCoordOut=mul(TexCoord,Transformation);
58 }