Bläddra i källkod

Optimised GTX_color_space_YCoCg YCoCgR conversions

Christophe Riccio 9 år sedan
förälder
incheckning
3945098589
2 ändrade filer med 5 tillägg och 4 borttagningar
  1. 4 4
      glm/gtx/color_space_YCoCg.inl
  2. 1 0
      readme.md

+ 4 - 4
glm/gtx/color_space_YCoCg.inl

@@ -38,9 +38,9 @@ namespace glm
 		)
 		{
 			tvec3<T, P> result;
-			result.x/*Y */ = rgbColor.g / T(2) + (rgbColor.r + rgbColor.b) / T(4);
+			result.x/*Y */ = rgbColor.g * static_cast<T>(0.5) + (rgbColor.r + rgbColor.b) * static_cast<T>(0.25);
 			result.y/*Co*/ = rgbColor.r - rgbColor.b;
-			result.z/*Cg*/ = rgbColor.g - (rgbColor.r + rgbColor.b) / T(2);
+			result.z/*Cg*/ = rgbColor.g - (rgbColor.r + rgbColor.b) * static_cast<T>(0.5);
 			return result;
 		}
 
@@ -50,9 +50,9 @@ namespace glm
 		)
 		{
 			tvec3<T, P> result;
-			T tmp = YCoCgRColor.x - (YCoCgRColor.z / T(2));
+			T tmp = YCoCgRColor.x - (YCoCgRColor.z * static_cast<T>(0.5));
 			result.g = YCoCgRColor.z + tmp;
-			result.b = tmp - (YCoCgRColor.y / T(2));
+			result.b = tmp - (YCoCgRColor.y * static_cast<T>(0.5));
 			result.r = result.b + YCoCgRColor.y;
 			return result;
 		}

+ 1 - 0
readme.md

@@ -65,6 +65,7 @@ glm::mat4 camera(float Translate, glm::vec2 const & Rotate)
 - Optimized GTC_packing implementation
 - Optimized GTC_noise functions
 - Optimized GTC_color_space HSV to RGB conversions
+- Optimised GTX_color_space_YCoCg YCoCgR conversions
 - Optimized GTX_matrix_interpolation axisAngle function
 - Added FAQ 12: Windows headers cause build errors... #557