mk_transform_backfunction
void mk_transform_back(const mk_transform *t, mk_vec3 *dest)Get back direction (+Z).
| Parameter | Type | Description |
|---|---|---|
t | const mk_transform * | Value for t. |
dest | mk_vec3 * | Value for dest. |
#include <modkit/math/transform.h>15 functions · 1 structs · 1 typedefs · 1 macros
Transform component (position, rotation, scale).
Provides a TRS (Translate, Rotate, Scale) transform that can be converted to a model matrix for rendering. Matrix composition order: M = T * R * S (Scale first, then rotate, then translate in local space)
mk_transform_backfunctionvoid mk_transform_back(const mk_transform *t, mk_vec3 *dest)Get back direction (+Z).
| Parameter | Type | Description |
|---|---|---|
t | const mk_transform * | Value for t. |
dest | mk_vec3 * | Value for dest. |
mk_transform_downfunctionvoid mk_transform_down(const mk_transform *t, mk_vec3 *dest)Get down direction (-Y).
| Parameter | Type | Description |
|---|---|---|
t | const mk_transform * | Value for t. |
dest | mk_vec3 * | Value for dest. |
mk_transform_forwardfunctionvoid mk_transform_forward(const mk_transform *t, mk_vec3 *dest)Get forward direction (-Z in right-hand system).
| Parameter | Type | Description |
|---|---|---|
t | const mk_transform * | Value for t. |
dest | mk_vec3 * | Value for dest. |
mk_transform_identityfunctionvoid mk_transform_identity(mk_transform *t)Initialize transform to identity.
| Parameter | Type | Description |
|---|---|---|
t | mk_transform * | Value for t. |
mk_transform_leftfunctionvoid mk_transform_left(const mk_transform *t, mk_vec3 *dest)Get left direction (-X).
| Parameter | Type | Description |
|---|---|---|
t | const mk_transform * | Value for t. |
dest | mk_vec3 * | Value for dest. |
mk_transform_look_atfunctionvoid mk_transform_look_at(mk_transform *t, const mk_vec3 *target, const mk_vec3 *up)Look at a target point (sets rotation).
| Parameter | Type | Description |
|---|---|---|
t | mk_transform * | Value for t. |
target | const mk_vec3 * | Value for target. |
up | const mk_vec3 * | Value for up. |
mk_transform_rightfunctionvoid mk_transform_right(const mk_transform *t, mk_vec3 *dest)Get right direction (+X).
| Parameter | Type | Description |
|---|---|---|
t | const mk_transform * | Value for t. |
dest | mk_vec3 * | Value for dest. |
mk_transform_rotate_axisfunctionvoid mk_transform_rotate_axis(mk_transform *t, const mk_vec3 *axis, float angle)Rotate around axis (additive, angle in radians).
| Parameter | Type | Description |
|---|---|---|
t | mk_transform * | Value for t. |
axis | const mk_vec3 * | Value for axis. |
angle | float | Value for angle. |
mk_transform_rotate_eulerfunctionvoid mk_transform_rotate_euler(mk_transform *t, float x, float y, float z)Rotate by euler angles (additive, radians).
| Parameter | Type | Description |
|---|---|---|
t | mk_transform * | Value for t. |
x | float | Value for x. |
y | float | Value for y. |
z | float | Value for z. |
mk_transform_set_axis_anglefunctionvoid mk_transform_set_axis_angle(mk_transform *t, const mk_vec3 *axis, float angle)Set rotation from axis-angle (angle in radians).
| Parameter | Type | Description |
|---|---|---|
t | mk_transform * | Value for t. |
axis | const mk_vec3 * | Value for axis. |
angle | float | Value for angle. |
mk_transform_set_eulerfunctionvoid mk_transform_set_euler(mk_transform *t, float x, float y, float z)Set rotation from euler angles (radians, XYZ rotation order).
| Parameter | Type | Description |
|---|---|---|
t | mk_transform * | Value for t. |
x | float | Value for x. |
y | float | Value for y. |
z | float | Value for z. |
mk_transform_to_mat4functionvoid mk_transform_to_mat4(const mk_transform *t, mk_mat4 *dest)Compute model matrix from transform: M = T * R * S.
This produces a matrix that:Scales by (scale.x, scale.y, scale.z)Rotates by the quaternionTranslates to position
| Parameter | Type | Description |
|---|---|---|
t | const mk_transform * | Value for t. |
dest | mk_mat4 * | Value for dest. |
mk_transform_translatefunctionvoid mk_transform_translate(mk_transform *t, const mk_vec3 *delta)Translate in world space.
| Parameter | Type | Description |
|---|---|---|
t | mk_transform * | Value for t. |
delta | const mk_vec3 * | Value for delta. |
mk_transform_translate_localfunctionvoid mk_transform_translate_local(mk_transform *t, const mk_vec3 *delta)Translate in local space (relative to current rotation).
| Parameter | Type | Description |
|---|---|---|
t | mk_transform * | Value for t. |
delta | const mk_vec3 * | Value for delta. |
mk_transform_upfunctionvoid mk_transform_up(const mk_transform *t, mk_vec3 *dest)Get up direction (+Y).
| Parameter | Type | Description |
|---|---|---|
t | const mk_transform * | Value for t. |
dest | mk_vec3 * | Value for dest. |
mk_transformstructTransform component with position, rotation, and scale.
| Field | Type | Description |
|---|---|---|
position | mk_vec3 | World position. |
rotation | mk_quat | Rotation as quaternion. |
scale | mk_vec3 | Scale factors (1,1,1 = no scale). |
mk_transformtypedeftypedef struct mk_transform mk_transformTransform component with position, rotation, and scale.
MK_TRANSFORM_IDENTITYdefineMK_TRANSFORM_IDENTITYDefault transform (identity).