Bez popisu
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Sampling.shader 1.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. Shader "Hidden/Universal Render Pipeline/Sampling"
  2. {
  3. SubShader
  4. {
  5. Tags { "RenderType" = "Opaque" "RenderPipeline" = "UniversalPipeline"}
  6. LOD 100
  7. // 0 - Downsample - Box filtering
  8. Pass
  9. {
  10. Name "BoxDownsample"
  11. ZTest Always
  12. ZWrite Off
  13. Cull Off
  14. HLSLPROGRAM
  15. #pragma vertex Vert
  16. #pragma fragment FragBoxDownsample
  17. #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
  18. #include "Packages/com.unity.render-pipelines.core/Runtime/Utilities/Blit.hlsl"
  19. SAMPLER(sampler_BlitTexture);
  20. float _SampleOffset;
  21. half4 FragBoxDownsample(Varyings input) : SV_Target
  22. {
  23. UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(input);
  24. float2 uv = UnityStereoTransformScreenSpaceTex(input.texcoord);
  25. float4 d = _BlitTexture_TexelSize.xyxy * float4(-_SampleOffset, -_SampleOffset, _SampleOffset, _SampleOffset);
  26. half4 s;
  27. s = SAMPLE_TEXTURE2D_X(_BlitTexture, sampler_BlitTexture, uv + d.xy);
  28. s += SAMPLE_TEXTURE2D_X(_BlitTexture, sampler_BlitTexture, uv + d.zy);
  29. s += SAMPLE_TEXTURE2D_X(_BlitTexture, sampler_BlitTexture, uv + d.xw);
  30. s += SAMPLE_TEXTURE2D_X(_BlitTexture, sampler_BlitTexture, uv + d.zw);
  31. return s * 0.25h;
  32. }
  33. ENDHLSL
  34. }
  35. }
  36. }