+public:
+ std::string effect_type_id() const override { return "ColorspaceConversionEffect"; }
+ std::string output_fragment_shader() override;
+
+ bool needs_srgb_primaries() const override { return false; }
+ AlphaHandling alpha_handling() const override { return DONT_CARE_ALPHA_TYPE; }
+ bool strong_one_to_one_sampling() const override { return true; }
+
+ // Get a conversion matrix from the given color space to XYZ.
+ static Eigen::Matrix3d get_xyz_matrix(Colorspace space);