cpml icon indicating copy to clipboard operation
cpml copied to clipboard

cpml.mat4.to_vec4s() and cpml.mat4.to_vec4s_cols() are reversed

Open leonardus opened this issue 3 years ago • 1 comments

CPML documentation states that cpml matrices are column-major.

local testmatrix = cpml.mat4.new{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}

This should be the matrix:

[1  5  9  13]
[2  6  10 14]
[3  7  11 15]
[4  8  12 16]

If so, this prints the opposite results from what is expected:

for _, row in pairs(cpml.mat4.to_vec4s(testmatrix)) do
	print("row: ", row[1], row[2], row[3], row[4])
end
for _, col in pairs(cpml.mat4.to_vec4s_cols(testmatrix)) do
	print("col: ", col[1], col[2], col[3], col[4])
end
row:    1       2       3       4
row:    5       6       7       8
row:    9       10      11      12
row:    13      14      15      16
col:    1       5       9       13
col:    2       6       10      14
col:    3       7       11      15
col:    4       8       12      16

leonardus avatar Jan 12 '23 22:01 leonardus

yeah, definite bad naming, it's a side effect of these functions being thrown in to address an old version of LOVE taking sideways matrices in, which made things really confusing.

On Thu, Jan 12, 2023 at 2:22 PM leonardus @.***> wrote:

CPML documentation states that cpml matrices are column-major.

local testmatrix = cpml.mat4.new{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}

This should be the matrix:

[1 5 9 13] [2 6 10 14] [3 7 11 15] [4 8 12 16]

If so, this prints the opposite results from what is expected:

for _, row in pairs(cpml.mat4.to_vec4s(testmatrix)) do print("row: ", row[1], row[2], row[3], row[4])endfor _, col in pairs(cpml.mat4.to_vec4s_cols(testmatrix)) do print("col: ", col[1], col[2], col[3], col[4])end

row: 1 2 3 4 row: 5 6 7 8 row: 9 10 11 12 row: 13 14 15 16 col: 1 5 9 13 col: 2 6 10 14 col: 3 7 11 15 col: 4 8 12 16

— Reply to this email directly, view it on GitHub https://github.com/excessive/cpml/issues/84, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABVS5W6HKD5AYGBWH5ZVTDWSB73XANCNFSM6AAAAAATZYCBYA . You are receiving this because you are subscribed to this thread.Message ID: @.***>

shakesoda avatar Jan 13 '23 01:01 shakesoda