Fix #113864: Compositor translation is doubled

Translations in the realtime compositor are doubled where there is a
rotation or scale component.

That was due to applying translations even after domain realization. So
this patch restricts the translation to the case where domain
realization doesn't take place.
This commit is contained in:
Omar Emara
2023-10-25 16:28:09 +03:00
parent e1bad49abf
commit 3f49d286cc

View File

@@ -77,11 +77,10 @@ void transform(Context &context,
}
else {
input.pass_through(output);
const float3x3 translation_matrix = math::from_location<float3x3>(translation);
output.transform(translation_matrix);
}
/* Translation transformations are delayed and are only stored in the result. */
const float3x3 translation_matrix = math::from_location<float3x3>(translation);
output.transform(translation_matrix);
output.get_realization_options().interpolation = interpolation;
}