package core:math/linalg/glsl
Overview
core:math/linalg/glsl implements a GLSL-like mathematics library plus numerous other utility procedures
Index
Constants (13)
Variables (0)
This section is empty.
Procedures (563)
- abs_dvec2
- abs_dvec3
- abs_dvec4
- abs_f32
- abs_f64
- abs_i32
- abs_ivec2
- abs_ivec3
- abs_ivec4
- abs_u32
- abs_uvec2
- abs_uvec3
- abs_uvec4
- abs_vec2
- abs_vec3
- abs_vec4
- acos_dvec2
- acos_dvec3
- acos_dvec4
- acos_f32
- acos_f64
- acos_vec2
- acos_vec3
- acos_vec4
- acosh_dvec2
- acosh_dvec3
- acosh_dvec4
- acosh_f32
- acosh_f64
- acosh_vec2
- acosh_vec3
- acosh_vec4
- all_bool
- all_bvec2
- all_bvec3
- all_bvec4
- any_bool
- any_bvec2
- any_bvec3
- any_bvec4
- asin_dvec2
- asin_dvec3
- asin_dvec4
- asin_f32
- asin_f64
- asin_vec2
- asin_vec3
- asin_vec4
- asinh_dvec2
- asinh_dvec3
- asinh_dvec4
- asinh_f32
- asinh_f64
- asinh_vec2
- asinh_vec3
- asinh_vec4
- atan2_dvec2
- atan2_dvec3
- atan2_dvec4
- atan2_f32
- atan2_f64
- atan2_vec2
- atan2_vec3
- atan2_vec4
- atan_dvec2
- atan_dvec3
- atan_dvec4
- atan_f32
- atan_f64
- atan_vec2
- atan_vec3
- atan_vec4
- atanh_dvec2
- atanh_dvec3
- atanh_dvec4
- atanh_f32
- atanh_f64
- atanh_vec2
- atanh_vec3
- atanh_vec4
- ceil_dvec2
- ceil_dvec3
- ceil_dvec4
- ceil_f32
- ceil_f64
- ceil_vec2
- ceil_vec3
- ceil_vec4
- clamp_dvec2
- clamp_dvec3
- clamp_dvec4
- clamp_f32
- clamp_f64
- clamp_i32
- clamp_ivec2
- clamp_ivec3
- clamp_ivec4
- clamp_u32
- clamp_uvec2
- clamp_uvec3
- clamp_uvec4
- clamp_vec2
- clamp_vec3
- clamp_vec4
- cos_dvec2
- cos_dvec3
- cos_dvec4
- cos_f32
- cos_f64
- cos_vec2
- cos_vec3
- cos_vec4
- cosh_dvec2
- cosh_dvec3
- cosh_dvec4
- cosh_f32
- cosh_f64
- cosh_vec2
- cosh_vec3
- cosh_vec4
- cross_dvec3
- cross_ivec3
- cross_vec3
- degrees_dvec2
- degrees_dvec3
- degrees_dvec4
- degrees_f32
- degrees_f64
- degrees_vec2
- degrees_vec3
- degrees_vec4
- distance_dvec2
- distance_dvec3
- distance_dvec4
- distance_f32
- distance_f64
- distance_vec2
- distance_vec3
- distance_vec4
- dmat4FromDquat
- dmat4LookAt
- dmat4Orientation
- dmat4Ortho3d
- dmat4Perspective
- dmat4PerspectiveInfinite
- dmat4Rotate
- dmat4Scale
- dmat4Translate
- dot_dquat
- dot_dvec2
- dot_dvec3
- dot_dvec4
- dot_f32
- dot_f64
- dot_i32
- dot_ivec2
- dot_ivec3
- dot_ivec4
- dot_quat
- dot_u32
- dot_uvec2
- dot_uvec3
- dot_uvec4
- dot_vec2
- dot_vec3
- dot_vec4
- dquatAxisAngle
- dquatFromDmat4
- dquatFromdMat3
- dquatMulDvec3
- dquatNlerp
- dquatSlerp
- equal_dvec2
- equal_dvec3
- equal_dvec4
- equal_f32
- equal_f64
- equal_i32
- equal_ivec2
- equal_ivec3
- equal_ivec4
- equal_u32
- equal_uvec2
- equal_uvec3
- equal_uvec4
- equal_vec2
- equal_vec3
- equal_vec4
- exp2_dvec2
- exp2_dvec3
- exp2_dvec4
- exp2_f32
- exp2_f64
- exp2_vec2
- exp2_vec3
- exp2_vec4
- exp_dvec2
- exp_dvec3
- exp_dvec4
- exp_f32
- exp_f64
- exp_vec2
- exp_vec3
- exp_vec4
- faceForward_dvec2
- faceForward_dvec3
- faceForward_dvec4
- faceForward_f32
- faceForward_f64
- faceForward_vec2
- faceForward_vec3
- faceForward_vec4
- floor_dvec2
- floor_dvec3
- floor_dvec4
- floor_f32
- floor_f64
- floor_vec2
- floor_vec3
- floor_vec4
- fract_dvec2
- fract_dvec3
- fract_dvec4
- fract_f32
- fract_f64
- fract_vec2
- fract_vec3
- fract_vec4
- greaterThanEqual_dvec2
- greaterThanEqual_dvec3
- greaterThanEqual_dvec4
- greaterThanEqual_f32
- greaterThanEqual_f64
- greaterThanEqual_i32
- greaterThanEqual_ivec2
- greaterThanEqual_ivec3
- greaterThanEqual_ivec4
- greaterThanEqual_u32
- greaterThanEqual_uvec2
- greaterThanEqual_uvec3
- greaterThanEqual_uvec4
- greaterThanEqual_vec2
- greaterThanEqual_vec3
- greaterThanEqual_vec4
- greaterThan_dvec2
- greaterThan_dvec3
- greaterThan_dvec4
- greaterThan_f32
- greaterThan_f64
- greaterThan_i32
- greaterThan_ivec2
- greaterThan_ivec3
- greaterThan_ivec4
- greaterThan_u32
- greaterThan_uvec2
- greaterThan_uvec3
- greaterThan_uvec4
- greaterThan_vec2
- greaterThan_vec3
- greaterThan_vec4
- identity
- inverse_dmat2
- inverse_dmat3
- inverse_dmat4
- inverse_dquat
- inverse_mat2
- inverse_mat3
- inverse_mat4
- inverse_quat
- inversesqrt_dvec2
- inversesqrt_dvec3
- inversesqrt_dvec4
- inversesqrt_f32
- inversesqrt_f64
- inversesqrt_vec2
- inversesqrt_vec3
- inversesqrt_vec4
- length_dquat
- length_dvec2
- length_dvec3
- length_dvec4
- length_f32
- length_f64
- length_quat
- length_vec2
- length_vec3
- length_vec4
- lerp_dvec2
- lerp_dvec3
- lerp_dvec4
- lerp_f32
- lerp_f64
- lerp_vec2
- lerp_vec3
- lerp_vec4
- lessThanEqual_dvec2
- lessThanEqual_dvec3
- lessThanEqual_dvec4
- lessThanEqual_f32
- lessThanEqual_f64
- lessThanEqual_i32
- lessThanEqual_ivec2
- lessThanEqual_ivec3
- lessThanEqual_ivec4
- lessThanEqual_u32
- lessThanEqual_uvec2
- lessThanEqual_uvec3
- lessThanEqual_uvec4
- lessThanEqual_vec2
- lessThanEqual_vec3
- lessThanEqual_vec4
- lessThan_dvec2
- lessThan_dvec3
- lessThan_dvec4
- lessThan_f32
- lessThan_f64
- lessThan_i32
- lessThan_ivec2
- lessThan_ivec3
- lessThan_ivec4
- lessThan_u32
- lessThan_uvec2
- lessThan_uvec3
- lessThan_uvec4
- lessThan_vec2
- lessThan_vec3
- lessThan_vec4
- log_dvec2
- log_dvec3
- log_dvec4
- log_f32
- log_f64
- log_vec2
- log_vec3
- log_vec4
- mat4FromQuat
- mat4LookAt
- mat4Orientation
- mat4Ortho3d
- mat4Perspective
- mat4PerspectiveInfinite
- mat4Rotate
- mat4Scale
- mat4Translate
- max_dvec2
- max_dvec3
- max_dvec4
- max_f32
- max_f64
- max_i32
- max_ivec2
- max_ivec3
- max_ivec4
- max_u32
- max_uvec2
- max_uvec3
- max_uvec4
- max_vec2
- max_vec3
- max_vec4
- min_dvec2
- min_dvec3
- min_dvec4
- min_f32
- min_f64
- min_i32
- min_ivec2
- min_ivec3
- min_ivec4
- min_u32
- min_uvec2
- min_uvec3
- min_uvec4
- min_vec2
- min_vec3
- min_vec4
- mix_dvec2
- mix_dvec3
- mix_dvec4
- mix_f32
- mix_f64
- mix_vec2
- mix_vec3
- mix_vec4
- mod_dvec2
- mod_dvec3
- mod_dvec4
- mod_f32
- mod_f64
- mod_vec2
- mod_vec3
- mod_vec4
- normalize_dquat
- normalize_dvec2
- normalize_dvec3
- normalize_dvec4
- normalize_f32
- normalize_f64
- normalize_quat
- normalize_vec2
- normalize_vec3
- normalize_vec4
- notEqual_dvec2
- notEqual_dvec3
- notEqual_dvec4
- notEqual_f32
- notEqual_f64
- notEqual_i32
- notEqual_ivec2
- notEqual_ivec3
- notEqual_ivec4
- notEqual_u32
- notEqual_uvec2
- notEqual_uvec3
- notEqual_uvec4
- notEqual_vec2
- notEqual_vec3
- notEqual_vec4
- not_bool
- not_bvec2
- not_bvec3
- not_bvec4
- pow_dvec2
- pow_dvec3
- pow_dvec4
- pow_f32
- pow_f64
- pow_vec2
- pow_vec3
- pow_vec4
- quatAxisAngle
- quatFromMat3
- quatFromMat4
- quatMulVec3
- quatNlerp
- quatSlerp
- radians_dvec2
- radians_dvec3
- radians_dvec4
- radians_f32
- radians_f64
- radians_vec2
- radians_vec3
- radians_vec4
- reflect_dvec2
- reflect_dvec3
- reflect_dvec4
- reflect_f32
- reflect_f64
- reflect_vec2
- reflect_vec3
- reflect_vec4
- refract_dvec2
- refract_dvec3
- refract_dvec4
- refract_f32
- refract_f64
- refract_vec2
- refract_vec3
- refract_vec4
- round_dvec2
- round_dvec3
- round_dvec4
- round_f32
- round_f64
- round_vec2
- round_vec3
- round_vec4
- saturate_dvec2
- saturate_dvec3
- saturate_dvec4
- saturate_f32
- saturate_f64
- saturate_i32
- saturate_ivec2
- saturate_ivec3
- saturate_ivec4
- saturate_u32
- saturate_uvec2
- saturate_uvec3
- saturate_uvec4
- saturate_vec2
- saturate_vec3
- saturate_vec4
- scalarTripleProduct_dvec3
- scalarTripleProduct_ivec3
- scalarTripleProduct_vec3
- sign_dvec2
- sign_dvec3
- sign_dvec4
- sign_f32
- sign_f64
- sign_i32
- sign_ivec2
- sign_ivec3
- sign_ivec4
- sign_u32
- sign_uvec2
- sign_uvec3
- sign_uvec4
- sign_vec2
- sign_vec3
- sign_vec4
- sin_dvec2
- sin_dvec3
- sin_dvec4
- sin_f32
- sin_f64
- sin_vec2
- sin_vec3
- sin_vec4
- sinh_dvec2
- sinh_dvec3
- sinh_dvec4
- sinh_f32
- sinh_f64
- sinh_vec2
- sinh_vec3
- sinh_vec4
- smoothstep_dvec2
- smoothstep_dvec3
- smoothstep_dvec4
- smoothstep_f32
- smoothstep_f64
- smoothstep_vec2
- smoothstep_vec3
- smoothstep_vec4
- sqrt_dvec2
- sqrt_dvec3
- sqrt_dvec4
- sqrt_f32
- sqrt_f64
- sqrt_vec2
- sqrt_vec3
- sqrt_vec4
- step_dvec2
- step_dvec3
- step_dvec4
- step_f32
- step_f64
- step_vec2
- step_vec3
- step_vec4
- tan_dvec2
- tan_dvec3
- tan_dvec4
- tan_f32
- tan_f64
- tan_vec2
- tan_vec3
- tan_vec4
- tanh_dvec2
- tanh_dvec3
- tanh_dvec4
- tanh_f32
- tanh_f64
- tanh_vec2
- tanh_vec3
- tanh_vec4
- transpose
- vectorTripleProduct_dvec3
- vectorTripleProduct_ivec3
- vectorTripleProduct_vec3
Procedure Groups (62)
- abs
- acos
- acosh
- adjugate
- all
- any
- asin
- asinh
- atan
- atan2
- atanh
- ceil
- clamp
- cos
- cosh
- cross
- degrees
- determinant
- distance
- dot
- equal
- exp
- exp2
- faceForward
- floor
- fract
- greaterThan
- greaterThanEqual
- inverse
- inverse_transpose
- inversesqrt
- length
- lerp
- lessThan
- lessThanEqual
- log
- max
- min
- mix
- mod
- nlerp
- normalize
- not
- notEqual
- pow
- radians
- reflect
- refract
- round
- rsqrt
- saturate
- scalarTripleProduct
- sign
- sin
- sinh
- slerp
- smoothstep
- sqrt
- step
- tan
- tanh
- vectorTripleProduct
Types
mat2 ¶
mat2 :: distinct matrix[2, 2]f32
Odin matrices are stored internally as Column-Major, which matches OpenGL/GLSL by default
mat3x2 ¶
mat3x2 :: distinct matrix[2, 3]f32
IMPORTANT NOTE: These data types are "backwards" in normal mathematical terms but they match how GLSL and OpenGL defines them in name Odin: matrix[R, C]f32 GLSL: matCxR
Constants
F32_EPSILON ¶
F32_EPSILON :: 1e-7
F64_EPSILON ¶
F64_EPSILON :: 1e-15
SQRT_FIVE ¶
SQRT_FIVE :: 2.23606797749978969640917366873127623
SQRT_THREE ¶
SQRT_THREE :: 1.73205080756887729352744634150587236
SQRT_TWO ¶
SQRT_TWO :: 1.41421356237309504880168872420969808
Variables
This section is empty.
Procedures
acos_f32 ¶
acos_f32 :: proc "cdecl" (x: f32) -> f32 {…}
acos_f64 ¶
acos_f64 :: proc "cdecl" (x: f64) -> f64 {…}
acosh_f32 ¶
acosh_f32 :: proc "cdecl" (x: f32) -> f32 {…}
acosh_f64 ¶
acosh_f64 :: proc "cdecl" (x: f64) -> f64 {…}
all_bool ¶
all_bool :: proc "cdecl" (v: bool) -> bool {…}
all_bvec2 ¶
all_bvec2 :: proc "cdecl" (v: bvec2) -> bool {…}
all_bvec3 ¶
all_bvec3 :: proc "cdecl" (v: bvec3) -> bool {…}
all_bvec4 ¶
all_bvec4 :: proc "cdecl" (v: bvec4) -> bool {…}
any_bool ¶
any_bool :: proc "cdecl" (v: bool) -> bool {…}
any_bvec2 ¶
any_bvec2 :: proc "cdecl" (v: bvec2) -> bool {…}
any_bvec3 ¶
any_bvec3 :: proc "cdecl" (v: bvec3) -> bool {…}
any_bvec4 ¶
any_bvec4 :: proc "cdecl" (v: bvec4) -> bool {…}
asin_f32 ¶
asin_f32 :: proc "cdecl" (x: f32) -> f32 {…}
asin_f64 ¶
asin_f64 :: proc "cdecl" (x: f64) -> f64 {…}
asinh_f32 ¶
asinh_f32 :: proc "cdecl" (x: f32) -> f32 {…}
asinh_f64 ¶
asinh_f64 :: proc "cdecl" (x: f64) -> f64 {…}
atan2_f32 ¶
atan2_f32 :: proc "cdecl" (y, x: f32) -> f32 {…}
atan2_f64 ¶
atan2_f64 :: proc "cdecl" (y, x: f64) -> f64 {…}
atan_f32 ¶
atan_f32 :: proc "cdecl" (x: f32) -> f32 {…}
atan_f64 ¶
atan_f64 :: proc "cdecl" (x: f64) -> f64 {…}
atanh_f32 ¶
atanh_f32 :: proc "cdecl" (x: f32) -> f32 {…}
atanh_f64 ¶
atanh_f64 :: proc "cdecl" (x: f64) -> f64 {…}
ceil_f32 ¶
ceil_f32 :: proc "cdecl" (x: f32) -> f32 {…}
ceil_f64 ¶
ceil_f64 :: proc "cdecl" (x: f64) -> f64 {…}
clamp_f32 ¶
clamp_f32 :: proc "cdecl" (x, y, z: f32) -> f32 {…}
clamp_f64 ¶
clamp_f64 :: proc "cdecl" (x, y, z: f64) -> f64 {…}
clamp_i32 ¶
clamp_i32 :: proc "cdecl" (x, y, z: i32) -> i32 {…}
clamp_u32 ¶
clamp_u32 :: proc "cdecl" (x, y, z: u32) -> u32 {…}
cosh_f32 ¶
cosh_f32 :: proc "cdecl" (x: f32) -> f32 {…}
cosh_f64 ¶
cosh_f64 :: proc "cdecl" (x: f64) -> f64 {…}
degrees_f32 ¶
degrees_f32 :: proc "cdecl" (radians: f32) -> f32 {…}
degrees_f64 ¶
degrees_f64 :: proc "cdecl" (radians: f64) -> f64 {…}
distance_dvec2 ¶
distance_dvec2 :: proc "cdecl" (x, y: dvec2) -> f64 {…}
distance_dvec3 ¶
distance_dvec3 :: proc "cdecl" (x, y: dvec3) -> f64 {…}
distance_dvec4 ¶
distance_dvec4 :: proc "cdecl" (x, y: dvec4) -> f64 {…}
distance_f32 ¶
distance_f32 :: proc "cdecl" (x, y: f32) -> f32 {…}
distance_f64 ¶
distance_f64 :: proc "cdecl" (x, y: f64) -> f64 {…}
distance_vec2 ¶
distance_vec2 :: proc "cdecl" (x, y: vec2) -> f32 {…}
distance_vec3 ¶
distance_vec3 :: proc "cdecl" (x, y: vec3) -> f32 {…}
distance_vec4 ¶
distance_vec4 :: proc "cdecl" (x, y: vec4) -> f32 {…}
dmat4Ortho3d ¶
dmat4Ortho3d :: proc "cdecl" ( left, right, bottom, top, near, far: f64, ) -> (m: dmat4) {…}
dmat4Perspective ¶
dmat4Perspective :: proc "cdecl" (fovy, aspect, near, far: f64) -> (m: dmat4) {…}
dmat4PerspectiveInfinite ¶
dmat4PerspectiveInfinite :: proc "cdecl" (fovy, aspect, near: f64) -> (m: dmat4) {…}
dot_dquat ¶
dot_dquat :: proc "cdecl" (a, b: dquat) -> f64 {…}
dot_dvec2 ¶
dot_dvec2 :: proc "cdecl" (a, b: dvec2) -> f64 {…}
dot_dvec3 ¶
dot_dvec3 :: proc "cdecl" (a, b: dvec3) -> f64 {…}
dot_dvec4 ¶
dot_dvec4 :: proc "cdecl" (a, b: dvec4) -> f64 {…}
dot_ivec2 ¶
dot_ivec2 :: proc "cdecl" (a, b: ivec2) -> i32 {…}
dot_ivec3 ¶
dot_ivec3 :: proc "cdecl" (a, b: ivec3) -> i32 {…}
dot_ivec4 ¶
dot_ivec4 :: proc "cdecl" (a, b: ivec4) -> i32 {…}
dot_quat ¶
dot_quat :: proc "cdecl" (a, b: quat) -> f32 {…}
dot_uvec2 ¶
dot_uvec2 :: proc "cdecl" (a, b: uvec2) -> u32 {…}
dot_uvec3 ¶
dot_uvec3 :: proc "cdecl" (a, b: uvec3) -> u32 {…}
dot_uvec4 ¶
dot_uvec4 :: proc "cdecl" (a, b: uvec4) -> u32 {…}
dot_vec2 ¶
dot_vec2 :: proc "cdecl" (a, b: vec2) -> f32 {…}
dot_vec3 ¶
dot_vec3 :: proc "cdecl" (a, b: vec3) -> f32 {…}
dot_vec4 ¶
dot_vec4 :: proc "cdecl" (a, b: vec4) -> f32 {…}
equal_f32 ¶
equal_f32 :: proc "cdecl" (a, b: f32) -> bool {…}
equal_f64 ¶
equal_f64 :: proc "cdecl" (a, b: f64) -> bool {…}
equal_i32 ¶
equal_i32 :: proc "cdecl" (a, b: i32) -> bool {…}
equal_u32 ¶
equal_u32 :: proc "cdecl" (a, b: u32) -> bool {…}
exp2_f32 ¶
exp2_f32 :: proc "cdecl" (x: f32) -> f32 {…}
exp2_f64 ¶
exp2_f64 :: proc "cdecl" (x: f64) -> f64 {…}
faceForward_f32 ¶
faceForward_f32 :: proc "cdecl" (N, I, Nref: f32) -> f32 {…}
faceForward_f64 ¶
faceForward_f64 :: proc "cdecl" (N, I, Nref: f64) -> f64 {…}
floor_f32 ¶
floor_f32 :: proc "cdecl" (x: f32) -> f32 {…}
floor_f64 ¶
floor_f64 :: proc "cdecl" (x: f64) -> f64 {…}
fract_f32 ¶
fract_f32 :: proc "cdecl" (x: f32) -> f32 {…}
fract_f64 ¶
fract_f64 :: proc "cdecl" (x: f64) -> f64 {…}
greaterThanEqual_f32 ¶
greaterThanEqual_f32 :: proc "cdecl" (a, b: f32) -> bool {…}
greaterThanEqual_f64 ¶
greaterThanEqual_f64 :: proc "cdecl" (a, b: f64) -> bool {…}
greaterThanEqual_i32 ¶
greaterThanEqual_i32 :: proc "cdecl" (a, b: i32) -> bool {…}
greaterThanEqual_u32 ¶
greaterThanEqual_u32 :: proc "cdecl" (a, b: u32) -> bool {…}
greaterThan_f32 ¶
greaterThan_f32 :: proc "cdecl" (a, b: f32) -> bool {…}
greaterThan_f64 ¶
greaterThan_f64 :: proc "cdecl" (a, b: f64) -> bool {…}
greaterThan_i32 ¶
greaterThan_i32 :: proc "cdecl" (a, b: i32) -> bool {…}
greaterThan_u32 ¶
greaterThan_u32 :: proc "cdecl" (a, b: u32) -> bool {…}
identity ¶
identity :: proc "cdecl" ($M: typeid/matrix[0, 0]$T) -> M {…}
inversesqrt_f32 ¶
inversesqrt_f32 :: proc "cdecl" (x: f32) -> f32 {…}
inversesqrt_f64 ¶
inversesqrt_f64 :: proc "cdecl" (x: f64) -> f64 {…}
length_dquat ¶
length_dquat :: proc "cdecl" (x: dquat) -> f64 {…}
length_dvec2 ¶
length_dvec2 :: proc "cdecl" (x: dvec2) -> f64 {…}
length_dvec3 ¶
length_dvec3 :: proc "cdecl" (x: dvec3) -> f64 {…}
length_dvec4 ¶
length_dvec4 :: proc "cdecl" (x: dvec4) -> f64 {…}
length_f32 ¶
length_f32 :: proc "cdecl" (x: f32) -> f32 {…}
length_f64 ¶
length_f64 :: proc "cdecl" (x: f64) -> f64 {…}
length_quat ¶
length_quat :: proc "cdecl" (x: quat) -> f32 {…}
length_vec2 ¶
length_vec2 :: proc "cdecl" (x: vec2) -> f32 {…}
length_vec3 ¶
length_vec3 :: proc "cdecl" (x: vec3) -> f32 {…}
length_vec4 ¶
length_vec4 :: proc "cdecl" (x: vec4) -> f32 {…}
lerp_f32 ¶
lerp_f32 :: proc "cdecl" (x, y, t: f32) -> f32 {…}
lerp_f64 ¶
lerp_f64 :: proc "cdecl" (x, y, t: f64) -> f64 {…}
lessThanEqual_f32 ¶
lessThanEqual_f32 :: proc "cdecl" (a, b: f32) -> bool {…}
lessThanEqual_f64 ¶
lessThanEqual_f64 :: proc "cdecl" (a, b: f64) -> bool {…}
lessThanEqual_i32 ¶
lessThanEqual_i32 :: proc "cdecl" (a, b: i32) -> bool {…}
lessThanEqual_u32 ¶
lessThanEqual_u32 :: proc "cdecl" (a, b: u32) -> bool {…}
lessThan_f32 ¶
lessThan_f32 :: proc "cdecl" (a, b: f32) -> bool {…}
lessThan_f64 ¶
lessThan_f64 :: proc "cdecl" (a, b: f64) -> bool {…}
lessThan_i32 ¶
lessThan_i32 :: proc "cdecl" (a, b: i32) -> bool {…}
lessThan_u32 ¶
lessThan_u32 :: proc "cdecl" (a, b: u32) -> bool {…}
mat4Ortho3d ¶
mat4Ortho3d :: proc "cdecl" ( left, right, bottom, top, near, far: f32, ) -> (m: mat4) {…}
mat4Perspective ¶
mat4Perspective :: proc "cdecl" (fovy, aspect, near, far: f32) -> (m: mat4) {…}
mat4PerspectiveInfinite ¶
mat4PerspectiveInfinite :: proc "cdecl" (fovy, aspect, near: f32) -> (m: mat4) {…}
normalize_f32 ¶
normalize_f32 :: proc "cdecl" (x: f32) -> f32 {…}
normalize_f64 ¶
normalize_f64 :: proc "cdecl" (x: f64) -> f64 {…}
notEqual_f32 ¶
notEqual_f32 :: proc "cdecl" (a, b: f32) -> bool {…}
notEqual_f64 ¶
notEqual_f64 :: proc "cdecl" (a, b: f64) -> bool {…}
notEqual_i32 ¶
notEqual_i32 :: proc "cdecl" (a, b: i32) -> bool {…}
notEqual_u32 ¶
notEqual_u32 :: proc "cdecl" (a, b: u32) -> bool {…}
not_bool ¶
not_bool :: proc "cdecl" (v: bool) -> bool {…}
radians_f32 ¶
radians_f32 :: proc "cdecl" (degrees: f32) -> f32 {…}
radians_f64 ¶
radians_f64 :: proc "cdecl" (degrees: f64) -> f64 {…}
reflect_f32 ¶
reflect_f32 :: proc "cdecl" (I, N: f32) -> f32 {…}
reflect_f64 ¶
reflect_f64 :: proc "cdecl" (I, N: f64) -> f64 {…}
refract_f32 ¶
refract_f32 :: proc "cdecl" (i, n, eta: f32) -> f32 {…}
refract_f64 ¶
refract_f64 :: proc "cdecl" (i, n, eta: f64) -> f64 {…}
round_f32 ¶
round_f32 :: proc "cdecl" (x: f32) -> f32 {…}
round_f64 ¶
round_f64 :: proc "cdecl" (x: f64) -> f64 {…}
saturate_f32 ¶
saturate_f32 :: proc "cdecl" (v: f32) -> f32 {…}
saturate_f64 ¶
saturate_f64 :: proc "cdecl" (v: f64) -> f64 {…}
saturate_i32 ¶
saturate_i32 :: proc "cdecl" (v: i32) -> i32 {…}
saturate_u32 ¶
saturate_u32 :: proc "cdecl" (v: u32) -> u32 {…}
scalarTripleProduct_dvec3 ¶
scalarTripleProduct_dvec3 :: proc "cdecl" (a, b, c: dvec3) -> f64 {…}
scalarTripleProduct_ivec3 ¶
scalarTripleProduct_ivec3 :: proc "cdecl" (a, b, c: ivec3) -> i32 {…}
scalarTripleProduct_vec3 ¶
scalarTripleProduct_vec3 :: proc "cdecl" (a, b, c: vec3) -> f32 {…}
sign_f32 ¶
sign_f32 :: proc "cdecl" (x: f32) -> f32 {…}
sign_f64 ¶
sign_f64 :: proc "cdecl" (x: f64) -> f64 {…}
sign_i32 ¶
sign_i32 :: proc "cdecl" (x: i32) -> i32 {…}
sign_u32 ¶
sign_u32 :: proc "cdecl" (x: u32) -> u32 {…}
sinh_f32 ¶
sinh_f32 :: proc "cdecl" (x: f32) -> f32 {…}
sinh_f64 ¶
sinh_f64 :: proc "cdecl" (x: f64) -> f64 {…}
smoothstep_f32 ¶
smoothstep_f32 :: proc "cdecl" (edge0, edge1, x: f32) -> f32 {…}
smoothstep_f64 ¶
smoothstep_f64 :: proc "cdecl" (edge0, edge1, x: f64) -> f64 {…}
sqrt_f32 ¶
sqrt_f32 :: proc "cdecl" (x: f32) -> f32 {…}
sqrt_f64 ¶
sqrt_f64 :: proc "cdecl" (x: f64) -> f64 {…}
step_f32 ¶
step_f32 :: proc "cdecl" (edge, x: f32) -> f32 {…}
step_f64 ¶
step_f64 :: proc "cdecl" (edge, x: f64) -> f64 {…}
tanh_f32 ¶
tanh_f32 :: proc "cdecl" (x: f32) -> f32 {…}
tanh_f64 ¶
tanh_f64 :: proc "cdecl" (x: f64) -> f64 {…}
transpose ¶
transpose :: builtin.transpose
Procedure Groups
acos ¶
acos :: proc{ acos_f32, acos_f64, acos_vec2, acos_vec3, acos_vec4, acos_dvec2, acos_dvec3, acos_dvec4, }
acosh ¶
acosh :: proc{ acosh_f32, acosh_f64, acosh_vec2, acosh_vec3, acosh_vec4, acosh_dvec2, acosh_dvec3, acosh_dvec4, }
adjugate ¶
adjugate :: proc{ runtime.matrix1x1_adjugate, runtime.matrix2x2_adjugate, runtime.matrix3x3_adjugate, runtime.matrix4x4_adjugate, }
asin ¶
asin :: proc{ asin_f32, asin_f64, asin_vec2, asin_vec3, asin_vec4, asin_dvec2, asin_dvec3, asin_dvec4, }
asinh ¶
asinh :: proc{ asinh_f32, asinh_f64, asinh_vec2, asinh_vec3, asinh_vec4, asinh_dvec2, asinh_dvec3, asinh_dvec4, }
atan ¶
atan :: proc{ atan_f32, atan_f64, atan_vec2, atan_vec3, atan_vec4, atan_dvec2, atan_dvec3, atan_dvec4, atan2_f32, atan2_f64, atan2_vec2, atan2_vec3, atan2_vec4, atan2_dvec2, atan2_dvec3, atan2_dvec4, }
atan2 ¶
atan2 :: proc{ atan2_f32, atan2_f64, atan2_vec2, atan2_vec3, atan2_vec4, atan2_dvec2, atan2_dvec3, atan2_dvec4, }
atanh ¶
atanh :: proc{ atanh_f32, atanh_f64, atanh_vec2, atanh_vec3, atanh_vec4, atanh_dvec2, atanh_dvec3, atanh_dvec4, }
ceil ¶
ceil :: proc{ ceil_f32, ceil_f64, ceil_vec2, ceil_vec3, ceil_vec4, ceil_dvec2, ceil_dvec3, ceil_dvec4, }
clamp ¶
clamp :: proc{ clamp_i32, clamp_u32, clamp_f32, clamp_f64, clamp_vec2, clamp_vec3, clamp_vec4, clamp_dvec2, clamp_dvec3, clamp_dvec4, clamp_ivec2, clamp_ivec3, clamp_ivec4, clamp_uvec2, clamp_uvec3, clamp_uvec4, }
cosh ¶
cosh :: proc{ cosh_f32, cosh_f64, cosh_vec2, cosh_vec3, cosh_vec4, cosh_dvec2, cosh_dvec3, cosh_dvec4, }
cross ¶
cross :: proc{ cross_vec3, cross_dvec3, cross_ivec3, }
degrees ¶
degrees :: proc{ degrees_f32, degrees_f64, degrees_vec2, degrees_vec3, degrees_vec4, degrees_dvec2, degrees_dvec3, degrees_dvec4, }
determinant ¶
determinant :: proc{ runtime.matrix1x1_determinant, runtime.matrix2x2_determinant, runtime.matrix3x3_determinant, runtime.matrix4x4_determinant, }
distance ¶
distance :: proc{ distance_f32, distance_f64, distance_vec2, distance_vec3, distance_vec4, distance_dvec2, distance_dvec3, distance_dvec4, }
equal ¶
equal :: proc{ equal_f32, equal_f64, equal_i32, equal_u32, equal_vec2, equal_dvec2, equal_ivec2, equal_uvec2, equal_vec3, equal_dvec3, equal_ivec3, equal_uvec3, equal_vec4, equal_dvec4, equal_ivec4, equal_uvec4, }
exp2 ¶
exp2 :: proc{ exp2_f32, exp2_f64, exp2_vec2, exp2_vec3, exp2_vec4, exp2_dvec2, exp2_dvec3, exp2_dvec4, }
faceForward ¶
faceForward :: proc{ faceForward_f32, faceForward_f64, faceForward_vec2, faceForward_vec3, faceForward_vec4, faceForward_dvec2, faceForward_dvec3, faceForward_dvec4, }
floor ¶
floor :: proc{ floor_f32, floor_f64, floor_vec2, floor_vec3, floor_vec4, floor_dvec2, floor_dvec3, floor_dvec4, }
fract ¶
fract :: proc{ fract_f32, fract_f64, fract_vec2, fract_vec3, fract_vec4, fract_dvec2, fract_dvec3, fract_dvec4, }
greaterThan ¶
greaterThan :: proc{ greaterThan_f32, greaterThan_f64, greaterThan_i32, greaterThan_u32, greaterThan_vec2, greaterThan_dvec2, greaterThan_ivec2, greaterThan_uvec2, greaterThan_vec3, greaterThan_dvec3, greaterThan_ivec3, greaterThan_uvec3, greaterThan_vec4, greaterThan_dvec4, greaterThan_ivec4, greaterThan_uvec4, }
greaterThanEqual ¶
greaterThanEqual :: proc{ greaterThanEqual_f32, greaterThanEqual_f64, greaterThanEqual_i32, greaterThanEqual_u32, greaterThanEqual_vec2, greaterThanEqual_dvec2, greaterThanEqual_ivec2, greaterThanEqual_uvec2, greaterThanEqual_vec3, greaterThanEqual_dvec3, greaterThanEqual_ivec3, greaterThanEqual_uvec3, greaterThanEqual_vec4, greaterThanEqual_dvec4, greaterThanEqual_ivec4, greaterThanEqual_uvec4, }
inverse ¶
inverse :: proc{ inverse_mat2, inverse_mat3, inverse_mat4, inverse_dmat2, inverse_dmat3, inverse_dmat4, inverse_quat, inverse_dquat, }
inverse_transpose ¶
inverse_transpose :: proc{ runtime.matrix1x1_inverse_transpose, runtime.matrix2x2_inverse_transpose, runtime.matrix3x3_inverse_transpose, runtime.matrix4x4_inverse_transpose, }
inversesqrt ¶
inversesqrt :: proc{ inversesqrt_f32, inversesqrt_f64, inversesqrt_vec2, inversesqrt_vec3, inversesqrt_vec4, inversesqrt_dvec2, inversesqrt_dvec3, inversesqrt_dvec4, }
length ¶
length :: proc{ length_f32, length_f64, length_vec2, length_vec3, length_vec4, length_dvec2, length_dvec3, length_dvec4, length_quat, length_dquat, }
lerp ¶
lerp :: proc{ lerp_f32, lerp_f64, lerp_vec2, lerp_vec3, lerp_vec4, lerp_dvec2, lerp_dvec3, lerp_dvec4, }
lessThanEqual ¶
lessThanEqual :: proc{ lessThanEqual_f32, lessThanEqual_f64, lessThanEqual_i32, lessThanEqual_u32, lessThanEqual_vec2, lessThanEqual_dvec2, lessThanEqual_ivec2, lessThanEqual_uvec2, lessThanEqual_vec3, lessThanEqual_dvec3, lessThanEqual_ivec3, lessThanEqual_uvec3, lessThanEqual_vec4, lessThanEqual_dvec4, lessThanEqual_ivec4, lessThanEqual_uvec4, }
nlerp ¶
nlerp :: proc{ quatNlerp, dquatNlerp, }
normalize ¶
normalize :: proc{ normalize_f32, normalize_f64, normalize_vec2, normalize_vec3, normalize_vec4, normalize_dvec2, normalize_dvec3, normalize_dvec4, normalize_quat, normalize_dquat, }
radians ¶
radians :: proc{ radians_f32, radians_f64, radians_vec2, radians_vec3, radians_vec4, radians_dvec2, radians_dvec3, radians_dvec4, }
reflect ¶
reflect :: proc{ reflect_f32, reflect_f64, reflect_vec2, reflect_vec3, reflect_vec4, reflect_dvec2, reflect_dvec3, reflect_dvec4, }
refract ¶
refract :: proc{ refract_f32, refract_f64, refract_vec2, refract_vec3, refract_vec4, refract_dvec2, refract_dvec3, refract_dvec4, }
round ¶
round :: proc{ round_f32, round_f64, round_vec2, round_vec3, round_vec4, round_dvec2, round_dvec3, round_dvec4, }
scalarTripleProduct ¶
scalarTripleProduct :: proc{ scalarTripleProduct_vec3, scalarTripleProduct_dvec3, scalarTripleProduct_ivec3, }
sign ¶
sign :: proc{ sign_i32, sign_u32, sign_f32, sign_f64, sign_vec2, sign_vec3, sign_vec4, sign_dvec2, sign_dvec3, sign_dvec4, sign_ivec2, sign_ivec3, sign_ivec4, sign_uvec2, sign_uvec3, sign_uvec4, }
sinh ¶
sinh :: proc{ sinh_f32, sinh_f64, sinh_vec2, sinh_vec3, sinh_vec4, sinh_dvec2, sinh_dvec3, sinh_dvec4, }
slerp ¶
slerp :: proc{ quatSlerp, dquatSlerp, }
smoothstep ¶
smoothstep :: proc{ smoothstep_f32, smoothstep_f64, smoothstep_vec2, smoothstep_vec3, smoothstep_vec4, smoothstep_dvec2, smoothstep_dvec3, smoothstep_dvec4, }
sqrt ¶
sqrt :: proc{ sqrt_f32, sqrt_f64, sqrt_vec2, sqrt_vec3, sqrt_vec4, sqrt_dvec2, sqrt_dvec3, sqrt_dvec4, }
step ¶
step :: proc{ step_f32, step_f64, step_vec2, step_vec3, step_vec4, step_dvec2, step_dvec3, step_dvec4, }
tanh ¶
tanh :: proc{ tanh_f32, tanh_f64, tanh_vec2, tanh_vec3, tanh_vec4, tanh_dvec2, tanh_dvec3, tanh_dvec4, }
vectorTripleProduct ¶
vectorTripleProduct :: proc{ vectorTripleProduct_vec3, vectorTripleProduct_dvec3, vectorTripleProduct_ivec3, }
Source Files
Generation Information
Generated with odin version dev-2023-03 (vendor "odin") Windows_amd64 @ 2023-03-29 21:09:05.417234400 +0000 UTC