]> git.sesse.net Git - movit/blobdiff - alpha_multiplication_effect_test.cpp
Make Movit work in premultiplied alpha.
[movit] / alpha_multiplication_effect_test.cpp
diff --git a/alpha_multiplication_effect_test.cpp b/alpha_multiplication_effect_test.cpp
new file mode 100644 (file)
index 0000000..eab4b25
--- /dev/null
@@ -0,0 +1,23 @@
+// Unit tests for AlphaMultiplicationEffect.
+
+#include "test_util.h"
+#include "gtest/gtest.h"
+
+TEST(AlphaMultiplicationEffectTest, SimpleTest) {
+       const int size = 3;
+       float data[4 * size] = {
+               1.0f, 0.2f, 0.2f, 0.0f,
+               0.2f, 1.0f, 0.2f, 0.5f,
+               0.2f, 0.2f, 1.0f, 1.0f,
+       };
+       float expected_data[4 * size] = {
+               0.0f, 0.0f, 0.0f, 0.0f,
+               0.1f, 0.5f, 0.1f, 0.5f,
+               0.2f, 0.2f, 1.0f, 1.0f,
+       };
+       float out_data[4 * size];
+       EffectChainTester tester(data, 1, size, FORMAT_RGBA_POSTMULTIPLIED_ALPHA, COLORSPACE_sRGB, GAMMA_LINEAR);
+       tester.run(out_data, GL_RGBA, COLORSPACE_sRGB, GAMMA_LINEAR, OUTPUT_ALPHA_PREMULTIPLIED);
+
+       expect_equal(expected_data, out_data, 4, size);
+}