X-Git-Url: https://git.sesse.net/?p=movit;a=blobdiff_plain;f=colorspace_conversion_effect.cpp;h=2f74a2785ec49a84bfe518f9b2b99cc07ef6f8c9;hp=4688b8cff8726f61d149da8c578cd2f20110abd7;hb=0490917aca6b8e6057c04c8becc820a8e849a801;hpb=17c083aad45a10df14c38cfe879a87220dfd4fb9 diff --git a/colorspace_conversion_effect.cpp b/colorspace_conversion_effect.cpp index 4688b8c..2f74a27 100644 --- a/colorspace_conversion_effect.cpp +++ b/colorspace_conversion_effect.cpp @@ -25,6 +25,13 @@ ColorSpaceConversionEffect::ColorSpaceConversionEffect() void get_xyz_matrix(ColorSpace space, Matrix3x3 m) { + if (space == COLORSPACE_XYZ) { + m[0] = 1.0f; m[3] = 0.0f; m[6] = 0.0f; + m[1] = 0.0f; m[4] = 1.0f; m[7] = 0.0f; + m[2] = 0.0f; m[5] = 0.0f; m[8] = 1.0f; + return; + } + double x_R, x_G, x_B; double y_R, y_G, y_B; double Y_R, Y_G, Y_B; @@ -91,8 +98,8 @@ std::string ColorSpaceConversionEffect::output_fragment_shader() " %.8f, %.8f, %.8f,\n" " %.8f, %.8f, %.8f,\n" " %.8f, %.8f, %.8f);\n\n", - m[0], m[3], m[6], - m[1], m[4], m[7], - m[2], m[5], m[8]); - return buf + read_file("colorspace_conversion_effect.glsl"); + m[0], m[1], m[2], + m[3], m[4], m[5], + m[6], m[7], m[8]); + return buf + read_file("colorspace_conversion_effect.frag"); }