Advertisement
Guest User

Untitled

a guest
Feb 21st, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.20 KB | None | 0 0
  1. void main()
  2. {
  3. vec4 colorPixel = texture2D( gm_BaseTexture, v_vTexcoord );
  4.  
  5. vec4 colorResult = colorPixel;
  6.  
  7. vec4 colorHSV = vec4( rgb_to_hsv( colorPixel.rgb ), colorPixel.a);
  8.  
  9. for (int i=0; i<maxcolors; i+=1)
  10. {
  11. vec4 colorInHSV = vec4( rgb_to_hsv( colorIn[i].rgb ), colorIn[i].a);
  12.  
  13. vec4 colorDelta = colorHSV - colorInHSV;
  14.  
  15. if (abs(colorDelta.r)>0.5) colorDelta.r -= sign(colorDelta.r);
  16.  
  17. if ( all( lessThanEqual( abs(colorDelta), colorTolerance[i] ) ) )
  18. {
  19. vec4 colorOutHSV = vec4( rgb_to_hsv( colorOut[i].rgb ), colorOut[i].a);
  20.  
  21. colorResult = mix( colorOut[i],
  22. vec4 ( hsv_to_rgb( vec3( mod( colorOutHSV.r + colorDelta.r, 1.0 ),
  23. clamp( colorOutHSV.g + colorDelta.g, 0.0, 1.0 ),
  24. clamp( colorOutHSV.b + colorDelta.b, 0.0, 1.0 ) ) ),
  25. clamp( colorOut[i].a + colorDelta.a, 0.0, 1.0) ),
  26. blend[i] );
  27. }
  28. }
  29.  
  30. gl_FragColor = v_vColour * colorResult;
  31. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement