Skip to content

Commit

Permalink
docs: mat4x2 account for latest mulitplication changes
Browse files Browse the repository at this point in the history
This also includes tables to explain how
mat4x2, column vectors, and row vectors are
represented. Also includes how resulting
matrix or vector is formed.

Signed-off-by: Vincent Davis Jr <[email protected]>
  • Loading branch information
EasyIP2023 committed Mar 31, 2024
1 parent 3445f93 commit 85165dd
Showing 1 changed file with 57 additions and 6 deletions.
63 changes: 57 additions & 6 deletions docs/source/mat4x2.rst
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,15 @@ Functions:
#. :c:func:`glm_mat4x2_transpose`
#. :c:func:`glm_mat4x2_scale`

Represented
~~~~~~~~~~~

.. csv-table:: mat4x2
:header: "", "column 1", "column 2", "column 3", "column4"

"row 1", "m00", "m10", "m20", "m30"
"row 2", "m01", "m11", "m21", "m31"

Functions documentation
~~~~~~~~~~~~~~~~~~~~~~~

Expand Down Expand Up @@ -51,28 +60,70 @@ Functions documentation
| *[in]* **src** pointer to an array of floats
| *[out]* **dest** destination matrix4x2
.. c:function:: void glm_mat4x2_mul(mat4x2 m1, mat2x4 m2, mat4 dest)
.. c:function:: void glm_mat4x2_mul(mat4x2 m1, mat2x4 m2, mat2 dest)
multiply m1 and m2 to dest
.. code-block:: c
glm_mat4x2_mul(mat4x2, mat2x4, mat4);
glm_mat4x2_mul(mat4x2, mat2x4, mat2);
Parameters:
| *[in]* **m1** left matrix (mat4x2)
| *[in]* **m2** right matrix (mat2x4)
| *[out]* **dest** destination matrix (mat4)
| *[out]* **dest** destination matrix (mat2)
.. csv-table:: mat4x2
:header: "", "column 1", "column 2", "column 3", "column 4"

"row 1", "a00", "a10", "a20", "a30"
"row 2", "a01", "a11", "a21", "a31"

.. csv-table:: mat2x4
:header: "", "column 1", "column 2"

"row 1", "b00", "b10"
"row 2", "b01", "b11"
"row 3", "b02", "b12"
"row 4", "b03", "b13"

.. csv-table:: mat2x2
:header: "", "column 1", "column 2"

.. c:function:: void glm_mat4x2_mulv(mat4x2 m, vec2 v, vec4 dest)
"row 1", "a00 * b00 + a10 * b01 + a20 * b02 + a30 * b03", "a00 * b10 + a10 * b11 + a20 * b12 + a30 * b13"
"row 2", "a01 * b00 + a11 * b01 + a21 * b02 + a31 * b03", "a01 * b10 + a11 * b11 + a21 * b12 + a31 * b13"

multiply mat4x2 with vec2 (column vector) and store in dest vector
.. c:function:: void glm_mat4x2_mulv(mat4x2 m, vec4 v, vec2 dest)
multiply mat4x2 with vec4 (column vector) and store in dest vector
Parameters:
| *[in]* **m** mat4x2 (left)
| *[in]* **v** vec2 (right, column vector)
| *[in]* **v** vec4 (right, column vector)
| *[out]* **dest** destination (result, column vector)
.. csv-table:: mat4x2
:header: "", "column 1", "column 2", "column 3"
"row 1", "m00", "m10", "m20"
"row 2", "m01", "m11", "m21"
"row 3", "m02", "m12", "m22"
"row 4", "m03", "m13", "m23"
.. csv-table:: column vec4 (1x4)
:header: "", "column 1"
"row 1", "v0"
"row 2", "v1"
"row 3", "v2"
"row 4", "v3"
.. csv-table:: column vec2 (1x2)
:header: "", "column 1"
"row 1", "m00 * v0 + m10 * v1 + m20 * v2 + m30 * v3"
"row 2", "m01 * v0 + m11 * v1 + m21 * v2 + m31 * v3"
.. c:function:: void glm_mat4x2_transpose(mat4x2 m, mat2x4 dest)
transpose matrix and store in dest
Expand Down

0 comments on commit 85165dd

Please sign in to comment.