Skew

Compute Shader DirtyWindow

May 21st, 2019
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.59 KB | None | 0 0
  1. // General
  2. #pragma kernel Dirt
  3. #pragma kernel Brush
  4. RWTexture2D<float4> Output;
  5.  
  6. // Dirt
  7. float MaxValue;
  8. float AddValue;
  9.  
  10. [numthreads(32,32,1)]
  11. void Dirt (uint3 id : SV_DispatchThreadID)
  12. {
  13.     float4 src = Output[id.xy];
  14.     src.x = min(MaxValue, src.x + AddValue);
  15.     Output[id.xy] = src;
  16. }
  17.  
  18. // Brush
  19. float4 Position;
  20. float Radius;
  21.  
  22. [numthreads(32,32,1)]
  23. void Brush (uint3 id : SV_DispatchThreadID)
  24. {
  25.     float4 src = Output[id.xy];
  26.     float dist = length(id.xy - Position.xy) - Radius;
  27.     Output[id.xy] = float4(saturate(dist * 9999.999) * src.x, src.y, src.z, src.w);
  28. }
Advertisement
Add Comment
Please, Sign In to add comment