PPGaussianBlur.bsl 789 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #include "$ENGINE$\PPBase.bslinc"
  2. #include "$ENGINE$\PPGaussianBlurCommon.bslinc"
  3. shader PPGaussianBlur
  4. {
  5. mixin PPBase;
  6. mixin PPGaussianBlurCommon;
  7. variations
  8. {
  9. ADDITIVE = { false, true };
  10. };
  11. code
  12. {
  13. Texture2D gInputTex;
  14. [alias(gInputTex)]
  15. SamplerState gInputSamp
  16. {
  17. AddressU = BORDER;
  18. AddressV = BORDER;
  19. BorderColor = 0;
  20. };
  21. #if ADDITIVE
  22. Texture2D gAdditiveTex;
  23. [alias(gAdditiveTex)]
  24. SamplerState gAdditiveSamp
  25. {
  26. AddressU = BORDER;
  27. AddressV = BORDER;
  28. BorderColor = 0;
  29. };
  30. #endif
  31. float4 fsmain(VStoFS input) : SV_Target0
  32. {
  33. float4 output = gaussianBlur(gInputTex, gInputSamp, input.uv0);
  34. #if ADDITIVE
  35. output += gAdditiveTex.SampleLevel(gAdditiveSamp, input.uv0, 0);
  36. #endif
  37. return output;
  38. }
  39. };
  40. };