GLM
#import "std/glm"
3D math tools.
glm.v2
v2 :: struct {
x: f32;
y: f32;
}
File: glm.bl
glm.v2_one
v2_one ::
File: glm.bl
glm.v2_zero
v2_zero ::
File: glm.bl
glm.v3
v3 :: struct {
x: f32;
y: f32;
z: f32;
}
File: glm.bl
glm.v3_right
v3_right ::
File: glm.bl
glm.v3_up
v3_up ::
File: glm.bl
glm.v3_forward
v3_forward ::
File: glm.bl
glm.v3_one
v3_one ::
File: glm.bl
glm.v3_zero
v3_zero ::
File: glm.bl
glm.v4
v4 :: struct {
x: f32;
y: f32;
z: f32;
w: f32;
}
File: glm.bl
glm.v4_one
v4_one ::
File: glm.bl
glm.v4_zero
v4_zero ::
File: glm.bl
glm.color_white
color_white ::
File: glm.bl
glm.color_black
color_black ::
File: glm.bl
glm.color_red
color_red ::
File: glm.bl
glm.color_green
color_green ::
File: glm.bl
glm.color_blue
color_blue ::
File: glm.bl
glm.color_yellow
color_yellow ::
File: glm.bl
glm.iv2
iv2 :: struct {
x: s32;
y: s32;
}
File: glm.bl
glm.iv3
iv3 :: struct {
x: s32;
y: s32;
z: s32;
}
File: glm.bl
glm.mat4
mat4 ::
File: glm.bl
glm.quat
quat :: v4
File: glm.bl
glm.quat_identity
quat_identity ::
File: glm.bl
glm.sub
sub :: fn { v2_sub; v2_sub_s; v3_sub; v3_sub_s; v4_sub; v4_sub_s; }
File: glm.bl
glm.add
add :: fn { v2_add; v2_add_s; v3_add; v3_add_s; v4_add; v4_add_s; }
File: glm.bl
glm.mul
mul :: fn { v2_mul; v2_mul_s; v3_mul; v3_mul_s; v4_mul; v4_mul_s; }
File: glm.bl
glm.div
div :: fn { v2_div; v2_div_s; v3_div; v3_div_s; v4_div; v4_div_s; }
File: glm.bl
glm.length
length :: fn { v2_length; v3_length; v4_length; }
File: glm.bl
glm.sqr_length
sqr_length :: fn { v2_sqr_length; v3_sqr_length; v4_sqr_length; }
File: glm.bl
glm.dot
dot :: fn { v2_dot; v3_dot; v4_dot; }
File: glm.bl
glm.normalize
normalize :: fn { v2_normalize; v3_normalize; v4_normalize; }
File: glm.bl
glm.compare
compare :: fn { v2_compare; v3_compare; v4_compare; }
File: glm.bl
glm.negate
negate :: fn { v2_negate; v3_negate; v4_negate; }
File: glm.bl
glm.cross
cross :: fn { v3_cross; }
File: glm.bl
glm.round
round :: fn { v2_round; v3_round; v4_round; }
File: glm.bl
glm.floor
floor :: fn { v2_floor; v3_floor; v4_floor; }
File: glm.bl
glm.ceil
ceil :: fn { v2_ceil; v3_ceil; v4_ceil; }
File: glm.bl
glm.mat4_init
mat4_init :: fn (m00: f32, m10: f32, m20: f32, m30: f32, m01: f32, m11: f32, m21: f32, m31: f32, m02: f32, m12: f32, m22: f32, m32: f32, m03: f32, m13: f32, m23: f32, m33: f32, out_mat: *mat4) #inline
File: glm.bl
glm.mat4_identity
mat4_identity :: fn (out_mat: *mat4) #inline
File: glm.bl
glm.mat4_zero
mat4_zero :: fn (out_mat: *mat4) #inline
File: glm.bl
glm.mat4_perspective
mat4_perspective :: fn (fov_rad: f32, aspect: f32, near: f32, far: f32, out_mat: *mat4) #inline
File: glm.bl
glm.mat4_ortho
mat4_ortho :: fn (left: f32, right: f32, bottom: f32, top: f32, near: f32, far: f32, out_mat: *mat4)
File: glm.bl
glm.mat4_look_at
mat4_look_at :: fn (eye: v3, target: v3, up: v3, out_mat: *mat4) #inline
File: glm.bl
glm.mat4_mul
mat4_mul :: fn (a: *mat4, b: *mat4, out_mat: *mat4)
File: glm.bl
glm.mat4_inverse
mat4_inverse :: fn (src_mat: *mat4, out_mat: *mat4) #inline
File: glm.bl
glm.mat4_scale_s
mat4_scale_s :: fn (s: f32, out_mat: *mat4) #inline
File: glm.bl
glm.mat4_mul_v4
mat4_mul_v4 :: fn (mat: *mat4, v: v4) v4 #inline
File: glm.bl
glm.mat4_translation
mat4_translation :: fn (translation: v3, out_mat: *mat4) #inline
File: glm.bl
glm.mat4_scale
mat4_scale :: fn (s: v3, out_mat: *mat4) #inline
File: glm.bl
glm.mat4_get_scale
mat4_get_scale :: fn (mat: *mat4) v3
File: glm.bl
glm.mat4_get_translation
mat4_get_translation :: fn (mat: *mat4) v3 #inline
File: glm.bl
glm.mat4_get_quat
mat4_get_quat :: fn (mat: *mat4) quat
File: glm.bl
glm.quat_normalize
quat_normalize :: fn (q: quat) quat #inline
File: glm.bl
glm.quat_to_mat4
quat_to_mat4 :: fn (q: quat, out_mat: *mat4)
File: glm.bl
glm.quat_look
quat_look :: fn (eye: v3, ori: quat, out_mat: *mat4)
File: glm.bl
glm.quat_look_for
quat_look_for :: fn (dir: v3, fwd: v3, up: v3) quat
File: glm.bl
glm.quat_axis_angle
quat_axis_angle :: fn (axis: v3, angle_rad: f32) quat
File: glm.bl
glm.quat_imag
quat_imag :: fn (q: quat) v3 #inline
File: glm.bl
glm.quat_real
quat_real :: fn (q: quat) f32 #inline
File: glm.bl
glm.quat_mul
quat_mul :: fn (q1: quat, q2: quat) quat
File: glm.bl
glm.quat_rotate_v3
quat_rotate_v3 :: fn (q: quat, v: v3) v3
File: glm.bl
glm.quat_forward
quat_forward :: fn (q: quat) v3
File: glm.bl