diff options
| author | Merov Linden <merov@lindenlab.com> | 2014-02-06 11:57:01 -0800 | 
|---|---|---|
| committer | Merov Linden <merov@lindenlab.com> | 2014-02-06 11:57:01 -0800 | 
| commit | 2ba7552b9cd94b62c850365bcc537f0b3e344917 (patch) | |
| tree | 744b2a12db06d60866a584a849a78e5f99b17366 /indra | |
| parent | 9112a47f9be023dd83bf4de72d490d21d85e6b5e (diff) | |
ACME-1301 : Add colortransform as a secondary filter command
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/integration_tests/llimage_libtest/filters/colortransform.xml | 16 | ||||
| -rwxr-xr-x | indra/llimage/llimagefilter.cpp | 10 | 
2 files changed, 26 insertions, 0 deletions
| diff --git a/indra/integration_tests/llimage_libtest/filters/colortransform.xml b/indra/integration_tests/llimage_libtest/filters/colortransform.xml new file mode 100644 index 0000000000..de4bebcce2 --- /dev/null +++ b/indra/integration_tests/llimage_libtest/filters/colortransform.xml @@ -0,0 +1,16 @@ +<llsd> +    <array> +        <array> +            <string>colortransform</string> +            <real>0.2125</real> +            <real>0.7154</real> +            <real>0.0721</real> +            <real>0.2125</real> +            <real>0.7154</real> +            <real>0.0721</real> +            <real>0.2125</real> +            <real>0.7154</real> +            <real>0.0721</real> +        </array> +    </array> +</llsd> diff --git a/indra/llimage/llimagefilter.cpp b/indra/llimage/llimagefilter.cpp index 9093e4b59c..8f7e340d16 100755 --- a/indra/llimage/llimagefilter.cpp +++ b/indra/llimage/llimagefilter.cpp @@ -256,6 +256,16 @@ void LLImageFilter::executeFilter(LLPointer<LLImageRaw> raw_image)                      kernel.mMatrix[k][j] = mFilterData[i][index++].asReal();              convolve(kernel,normalize,abs_value);          } +        else if (filter_name == "colortransform") +        { +            LLMatrix3 transform; +            S32 index = 1; +            for (S32 k = 0; k < NUM_VALUES_IN_MAT3; k++) +                for (S32 j = 0; j < NUM_VALUES_IN_MAT3; j++) +                    transform.mMatrix[k][j] = mFilterData[i][index++].asReal(); +            transform.transpose(); +            colorTransform(transform); +        }          else          {              llwarns << "Filter unknown, cannot execute filter command : " << filter_name << llendl; | 
