experiments with fresnel and shadergraph
[WindSway-HDRP.git] / Library / PackageCache / com.unity.postprocessing@2.1.6 / PostProcessing / Shaders / Debug / Waveform.shader
blob2c3a8b94236b4e7ae83aef77b62a6b9345b25226
1 Shader "Hidden/PostProcessing/Debug/Waveform"
3     HLSLINCLUDE
5         #pragma exclude_renderers gles gles3 d3d11_9x
6         #pragma target 4.5
7         #include "../StdLib.hlsl"
9         StructuredBuffer<uint4> _WaveformBuffer;
10         float3 _Params; // x: buffer width, y: buffer height, z: exposure, w: unused
12         float3 Tonemap(float3 x, float exposure)
13         {
14             const float a = 6.2;
15             const float b = 0.5;
16             const float c = 1.7;
17             const float d = 0.06;
18             x *= exposure;
19             x = max((0.0).xxx, x - (0.004).xxx);
20             x = (x * (a * x + b)) / (x * (a * x + c) + d);
21             return x * x;
22         }
24         float4 Frag(VaryingsDefault i) : SV_Target
25         {
26             const float3 red = float3(1.4, 0.03, 0.02);
27             const float3 green = float3(0.02, 1.1, 0.05);
28             const float3 blue = float3(0.0, 0.25, 1.5);
29             float3 color = float3(0.0, 0.0, 0.0);
31             uint2 uvI = i.vertex.xy;
32             float3 w = _WaveformBuffer[uvI.x * _Params.y + uvI.y].xyz;
34             color += red * w.r;
35             color += green * w.g;
36             color += blue * w.b;
37             color = Tonemap(color, _Params.z);
39             return float4(saturate(color), 1.0);
40         }
42     ENDHLSL
44     SubShader
45     {
46         Cull Off ZWrite Off ZTest Always
48         Pass
49         {
50             HLSLPROGRAM
52                 #pragma vertex VertDefault
53                 #pragma fragment Frag
55             ENDHLSL
56         }
57     }