Advertisement
Guest User

Untitled

a guest
Apr 18th, 2014
48
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.39 KB | None | 0 0
  1. float bg_r = ((float)currentColor.r) / 255.0f;
  2. float bg_g = ((float)currentColor.g) / 255.0f;
  3. float bg_b = ((float)currentColor.b) / 255.0f;
  4. float bg_a = ((float)currentColor.a) / 255.0f;
  5.  
  6. float bg_r_a = bg_r * bg_a;
  7. float bg_g_a = bg_g * bg_a;
  8. float bg_b_a = bg_b * bg_a;
  9.  
  10. float fg_r = ((float)brushColor.r) / 255.0f;
  11. float fg_g = ((float)brushColor.g) / 255.0f;
  12. float fg_b = ((float)brushColor.b) / 255.0f;
  13. float fg_a = (((float)brushColor.a) / 255.0f) * brush.pressure; // 0 - 1
  14.  
  15. float fg_r_a = fg_r * fg_a;
  16. float fg_g_a = fg_g * fg_a;
  17. float fg_b_a = fg_b * fg_a;
  18.  
  19. float col_r_a = fg_r_a + bg_r_a * ( 1.0f - fg_a );
  20. float col_g_a = fg_g_a + bg_g_a * ( 1.0f - fg_a );
  21. float col_b_a = fg_b_a + bg_b_a * ( 1.0f - fg_a );
  22. float col_a = fg_a + bg_a * ( 1.0f - fg_a );
  23.  
  24. float col_r = col_r_a / col_a;
  25. float col_g = col_g_a / col_a;
  26. float col_b = col_b_a / col_a;
  27.  
  28. byte colR = (byte)Mathf.Clamp( col_r * 255.0f, 0.0f, 255.0f );
  29. byte colG = (byte)Mathf.Clamp( col_g * 255.0f, 0.0f, 255.0f );
  30. byte colB = (byte)Mathf.Clamp( col_b * 255.0f, 0.0f, 255.0f );
  31. byte colA = (byte)Mathf.Clamp( col_a * 255.0f, 0.0f, 255.0f );
  32.  
  33. Color32 outputColor = new Color32( colR, colG, colB, colA );
  34.  
  35. byte colR = (byte)Mathf.Clamp( col_r * 255.0f, 0.0f, 255.0f );
  36.  
  37. Console.WriteLine((byte)1.9f); // Outputs "1"
  38. Console.WriteLine((int)-1.9f); // Outputs "-1"
  39.  
  40. byte colR = (byte)Math.Round(Mathf.Clamp( col_r * 255.0f, 0.0f, 255.0f ));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement