Shadow.hlsl 955 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #include "Uniforms.hlsl"
  2. #include "Samplers.hlsl"
  3. #include "Transform.hlsl"
  4. void VS(float4 iPos : POSITION,
  5. #ifdef SKINNED
  6. float4 iBlendWeights : BLENDWEIGHT,
  7. int4 iBlendIndices : BLENDINDICES,
  8. #endif
  9. #ifdef INSTANCED
  10. float4x3 iModelInstance : TEXCOORD2,
  11. #endif
  12. #ifdef ALPHAMASK
  13. float2 iTexCoord : TEXCOORD0,
  14. out float2 oTexCoord : TEXCOORD0,
  15. #endif
  16. out float4 oPos : POSITION)
  17. {
  18. float4x3 modelMatrix = iModelMatrix;
  19. float3 worldPos = GetWorldPos(modelMatrix);
  20. oPos = GetClipPos(worldPos);
  21. #ifdef ALPHAMASK
  22. oTexCoord = GetTexCoord(iTexCoord);
  23. #endif
  24. }
  25. void PS(
  26. #ifdef ALPHAMASK
  27. float2 iTexCoord : TEXCOORD0,
  28. #endif
  29. out float4 oColor : COLOR0)
  30. {
  31. #ifdef ALPHAMASK
  32. float alpha = tex2D(sDiffMap, iTexCoord).a;
  33. #else
  34. const float alpha = 1.0;
  35. #endif
  36. oColor = alpha;
  37. }