mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-24 01:00:37 +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 |
||
---|---|---|
.. | ||
allocators | ||
app | ||
audio | ||
fft | ||
gl | ||
pbutils | ||
riff | ||
rtp | ||
rtsp | ||
sdp | ||
tag | ||
video | ||
gettext.h | ||
glib-compat-private.h | ||
gst-i18n-app.h | ||
gst-i18n-plugin.h | ||
Makefile.am | ||
meson.build |