diff options
Diffstat (limited to 'source/blender/compositor/operations/COM_AlphaOverPremultiplyOperation.cpp')
-rw-r--r-- | source/blender/compositor/operations/COM_AlphaOverPremultiplyOperation.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/source/blender/compositor/operations/COM_AlphaOverPremultiplyOperation.cpp b/source/blender/compositor/operations/COM_AlphaOverPremultiplyOperation.cpp index dad43f3b179..ac7906f2f98 100644 --- a/source/blender/compositor/operations/COM_AlphaOverPremultiplyOperation.cpp +++ b/source/blender/compositor/operations/COM_AlphaOverPremultiplyOperation.cpp @@ -27,7 +27,7 @@ AlphaOverPremultiplyOperation::AlphaOverPremultiplyOperation() : MixBaseOperatio /* pass */ } -void AlphaOverPremultiplyOperation::executePixel(float *outputValue, float x, float y, PixelSampler sampler) +void AlphaOverPremultiplyOperation::executePixel(float output[4], float x, float y, PixelSampler sampler) { float inputColor1[4]; float inputOverColor[4]; @@ -39,18 +39,18 @@ void AlphaOverPremultiplyOperation::executePixel(float *outputValue, float x, fl /* Zero alpha values should still permit an add of RGB data */ if (inputOverColor[3] < 0.0f) { - copy_v4_v4(outputValue, inputColor1); + copy_v4_v4(output, inputColor1); } else if (value[0] == 1.0f && inputOverColor[3] >= 1.0f) { - copy_v4_v4(outputValue, inputOverColor); + copy_v4_v4(output, inputOverColor); } else { float mul = 1.0f - value[0] * inputOverColor[3]; - outputValue[0] = (mul * inputColor1[0]) + value[0] * inputOverColor[0]; - outputValue[1] = (mul * inputColor1[1]) + value[0] * inputOverColor[1]; - outputValue[2] = (mul * inputColor1[2]) + value[0] * inputOverColor[2]; - outputValue[3] = (mul * inputColor1[3]) + value[0] * inputOverColor[3]; + output[0] = (mul * inputColor1[0]) + value[0] * inputOverColor[0]; + output[1] = (mul * inputColor1[1]) + value[0] * inputOverColor[1]; + output[2] = (mul * inputColor1[2]) + value[0] * inputOverColor[2]; + output[3] = (mul * inputColor1[3]) + value[0] * inputOverColor[3]; } } |