jeppevinkel

binarize.hlsl

Jun 12th, 2022 (edited)
509
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #pragma shaderfilter set threshold__description Threshold
  2. #pragma shaderfilter set threshold__default 0.40
  3. uniform float threshold;
  4.  
  5. #pragma shaderfilter set light_color__description Light Color
  6. #pragma shaderfilter set light_color__default ffffffff
  7. uniform float4 light_color;
  8.  
  9. #pragma shaderfilter set dark_color__description Dark Color
  10. #pragma shaderfilter set dark_color__default 000000ff
  11. uniform float4 dark_color;
  12.  
  13. float4 render(float2 uv) {
  14.     float4 image_color = image.Sample(builtin_texture_sampler, uv);
  15.  
  16.     float avg = (image_color.r + image_color.g + image_color.b) / 3.0;
  17.  
  18.     bool light = avg > threshold;
  19.  
  20.     if ( light )
  21.     {
  22.         image_color.rgb = light_color;
  23.     }
  24.     else
  25.     {
  26.         image_color.rgb = dark_color;
  27.     }
  28.  
  29.     return image_color;
  30. }
  31.  
Add Comment
Please, Sign In to add comment