mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-20 07:16:55 +00:00
e4bf9ed8f0
The matrices were converting the wrong values with non-diagonal-only matrices. e.g. a typical yflip matrix in [-1,1]^3 such as 1 0 0 0 0 -1 0 0 0 0 1 0 0 0 0 1 Would have actually required a matrix like this in [0,1]^3 1 0 0 0 0 -1 0 0 0 0 1 0 0 -2 0 1 Which is 1. not consistent with our multiplication convention and would require transposing matrices or changing our multiplication order (from what is generally used on opengl matrix guides/tutorials). 2. Produces incorrect values when input with actual vertices accounting for the difference in multiplication order. e.g. some vertices multiplied by the yflip matrix using vertex * yflip(== transpose(yflip) * vertex): vertex: -> result: expected: vec4(1,0,1,1) -> vec4(1,-2,1,1) vec4(1,1,1,1) vec4(1,1,1,1) -> vec4(1,-3,1,1) vec4(1,0,1,1) With the updated values, we now get the expected values. Includes a test for this behaviour and the example above |
||
---|---|---|
.. | ||
elements | ||
generic | ||
gst | ||
libs | ||
pipelines | ||
.gitignore | ||
gst-plugins-base.supp | ||
Makefile.am | ||
meson.build |