vector4_ptr.c file
Functions
-
auto vec4_add_ptr_scalar(vector4* res,
const vector4* a,
const vector4* b) -> VECMAT_
SCALAR_ API void - Performs component-wise addition of two vector4.
-
auto vec4_sub_ptr_scalar(vector4* res,
const vector4* a,
const vector4* b) -> VECMAT_
SCALAR_ API void - Performs component-wise subtraction of two
vector4. -
auto vec4_mul_scalar_ptr_scalar(vector4* res,
const vector4* v,
const vm_
float_ t s) -> VECMAT_ SCALAR_ API void - Performs component-wise multiplication of a
vector4by a scalar. -
auto vec4_div_scalar_ptr_scalar(vector4* res,
const vector4* v,
const vm_
float_ t s) -> VECMAT_ SCALAR_ API void - Performs component-wise division of a
vector4by a scalar. -
auto vec4_mul_ptr_scalar(vector4* res,
const vector4* a,
const vector4* b) -> VECMAT_
SCALAR_ API void - Performs component-wise multiplication of two
vector4. -
auto vec4_neg_ptr_scalar(vector4* res,
const vector4* v) -> VECMAT_
SCALAR_ API void - Performs component-wise negation of a
vector4. -
auto vec4_abs_ptr_scalar(vector4* res,
const vector4* v) -> VECMAT_
SCALAR_ API void - Performs component-wise absolute value on a
vector4. -
auto vec4_normalize_ptr_scalar(vector4* res,
const vector4* v) -> VECMAT_
SCALAR_ API void - Normalizes a
vector4by scaling its components to unit length. -
auto vec4_min_ptr_scalar(vector4* res,
const vector4* a,
const vector4* b) -> VECMAT_
SCALAR_ API void - Performs component-wise minimum of two
vector4. -
auto vec4_max_ptr_scalar(vector4* res,
const vector4* a,
const vector4* b) -> VECMAT_
SCALAR_ API void - Performs component-wise maximum of two
vector4. -
auto vec4_sign_ptr_scalar(vector4* res,
const vector4* v) -> VECMAT_
SCALAR_ API void - Computes the component-wise sign of a vector4.
-
auto vec4_floor_ptr_scalar(vector4* res,
const vector4* v) -> VECMAT_
SCALAR_ API void - Performs component-wise floor operation on a
vector4. -
auto vec4_ceil_ptr_scalar(vector4* res,
const vector4* v) -> VECMAT_
SCALAR_ API void - Performs component-wise ceiling of a
vector4. -
auto vec4_round_ptr_scalar(vector4* res,
const vector4* v) -> VECMAT_
SCALAR_ API void - Performs component-wise rounding of a
vector4to the nearest integer. -
auto vec4_lerp_ptr_scalar(vector4* res,
const vector4* a,
const vector4* b,
const vm_
float_ t t) -> VECMAT_ SCALAR_ API void - Performs linear interpolation between two
vector4with interpolation factor t. -
auto vec4_clamp_ptr_scalar(vector4* res,
const vector4* v,
const vector4* min,
const vector4* max) -> VECMAT_
SCALAR_ API void - Performs component-wise clamping of a
vector4to the specified min and max bounds. -
auto vec4_homogenize_ptr_scalar(vector4* res,
const vector4* v) -> VECMAT_
SCALAR_ API void - Homogenizes a
vector4by dividing its x, y, z components by w. - void vec4_to_vec3_ptr(vector3* res, const vector4* v)
- Copies the x, y, z components from a
vector4to avector3. -
auto vec4_div_ptr_scalar(vector4* res,
const vector4* a,
const vector4* b) -> VECMAT_
SCALAR_ API void - Divides two vectors component-wise.
-
auto vec4_add_scalar_ptr_scalar(vector4* res,
const vector4* v,
const vm_
float_ t s) -> VECMAT_ SCALAR_ API void - Adds a scalar to each component.
-
auto vec4_sub_scalar_ptr_scalar(vector4* res,
const vector4* v,
const vm_
float_ t s) -> VECMAT_ SCALAR_ API void - Subtracts a scalar from each component.
-
auto vec4_clamp_scalar_ptr_scalar(vector4* res,
const vector4* v,
const vm_
float_ t min, const vm_ float_ t max) -> VECMAT_ SCALAR_ API void - Clamps each component to the scalar range [min, max].
-
auto vec4_saturate_ptr_scalar(vector4* res,
const vector4* v) -> VECMAT_
SCALAR_ API void - Clamps each component to the range [0, 1].
-
auto vec4_fract_ptr_scalar(vector4* res,
const vector4* v) -> VECMAT_
SCALAR_ API void - Returns the fractional part of each component.
- void vec4_project_ptr(vector4* res, const vector4* a, const vector4* b)
- Projects a onto b.
- void vec4_slide_ptr(vector4* res, const vector4* v, const vector4* normal)
- Removes the component of v along normal.
- void vec4_reject_ptr(vector4* res, const vector4* a, const vector4* b)
- Returns the component of a orthogonal to b.
- void vec4_add_ptr(vector4* res, const vector4* a, const vector4* b)
- Component-wise addition (dispatched).
- void vec4_sub_ptr(vector4* res, const vector4* a, const vector4* b)
- Component-wise subtraction (dispatched).
- void vec4_mul_ptr(vector4* res, const vector4* a, const vector4* b)
- Component-wise multiplication (dispatched).
-
void vec4_mul_scalar_ptr(vector4* res,
const vector4* v,
const vm_
float_ t s) - Multiplies a vector by a scalar (dispatched).
-
void vec4_div_scalar_ptr(vector4* res,
const vector4* v,
const vm_
float_ t s) - Divides a vector by a scalar (dispatched).
- void vec4_neg_ptr(vector4* res, const vector4* v)
- Negates a vector (dispatched).
- void vec4_abs_ptr(vector4* res, const vector4* v)
- Component-wise absolute value (dispatched).
- void vec4_normalize_ptr(vector4* res, const vector4* v)
- Normalizes a vector (dispatched).
- void vec4_min_ptr(vector4* res, const vector4* a, const vector4* b)
- Component-wise minimum (dispatched).
- void vec4_max_ptr(vector4* res, const vector4* a, const vector4* b)
- Component-wise maximum (dispatched).
-
void vec4_lerp_ptr(vector4* res,
const vector4* a,
const vector4* b,
const vm_
float_ t t) - Linear interpolation (dispatched).
- void vec4_clamp_ptr(vector4* res, const vector4* v, const vector4* min, const vector4* max)
- Component-wise clamp (dispatched).
- void vec4_div_ptr(vector4* res, const vector4* a, const vector4* b)
- Component-wise division (dispatched).
-
void vec4_add_scalar_ptr(vector4* res,
const vector4* v,
const vm_
float_ t s) - Adds a scalar to each component (dispatched).
-
void vec4_sub_scalar_ptr(vector4* res,
const vector4* v,
const vm_
float_ t s) - Subtracts a scalar from each component (dispatched).
-
void vec4_clamp_scalar_ptr(vector4* res,
const vector4* v,
const vm_
float_ t min, const vm_ float_ t max) - Clamps each component to a scalar range (dispatched).
- void vec4_saturate_ptr(vector4* res, const vector4* v)
- Clamps each component to [0, 1] (dispatched).
- void vec4_sign_ptr(vector4* res, const vector4* v)
- Component-wise sign (dispatched).
- void vec4_floor_ptr(vector4* res, const vector4* v)
- Component-wise floor (dispatched).
- void vec4_ceil_ptr(vector4* res, const vector4* v)
- Component-wise ceil (dispatched).
- void vec4_round_ptr(vector4* res, const vector4* v)
- Component-wise round (dispatched).
- void vec4_fract_ptr(vector4* res, const vector4* v)
- Component-wise fractional part (dispatched).
- void vec4_homogenize_ptr(vector4* res, const vector4* v)
- Divides xyz by w (dispatched).
Function documentation
VECMAT_ SCALAR_ API void vec4_add_ptr_scalar(vector4* res,
const vector4* a,
const vector4* b)
Performs component-wise addition of two vector4.
| Parameters | |
|---|---|
| res | Pointer to result vector4. |
| a | Pointer to first vector4. |
| b | Pointer to second vector4. |
VECMAT_ SCALAR_ API void vec4_sub_ptr_scalar(vector4* res,
const vector4* a,
const vector4* b)
Performs component-wise subtraction of two vector4.
| Parameters | |
|---|---|
| res | Pointer to result vector4. |
| a | Pointer to first vector4. |
| b | Pointer to second vector4. |
VECMAT_ SCALAR_ API void vec4_mul_scalar_ptr_scalar(vector4* res,
const vector4* v,
const vm_ float_ t s)
Performs component-wise multiplication of a vector4 by a scalar.
| Parameters | |
|---|---|
| res | Pointer to result vector4. |
| v | Pointer to input vector4. |
| s | The scalar multiplier. |
VECMAT_ SCALAR_ API void vec4_div_scalar_ptr_scalar(vector4* res,
const vector4* v,
const vm_ float_ t s)
Performs component-wise division of a vector4 by a scalar.
| Parameters | |
|---|---|
| res | Pointer to result vector4. |
| v | Pointer to input vector4. |
| s | Scalar divisor. |
If the scalar is zero, sets the result vector to (0,0,0,0).
VECMAT_ SCALAR_ API void vec4_mul_ptr_scalar(vector4* res,
const vector4* a,
const vector4* b)
Performs component-wise multiplication of two vector4.
| Parameters | |
|---|---|
| res | Pointer to result vector4. |
| a | Pointer to first vector4. |
| b | Pointer to second vector4. |
VECMAT_ SCALAR_ API void vec4_neg_ptr_scalar(vector4* res,
const vector4* v)
Performs component-wise negation of a vector4.
| Parameters | |
|---|---|
| res | Pointer to result vector4. |
| v | Pointer to input vector4. |
VECMAT_ SCALAR_ API void vec4_abs_ptr_scalar(vector4* res,
const vector4* v)
Performs component-wise absolute value on a vector4.
| Parameters | |
|---|---|
| res | Pointer to result vector4. |
| v | Pointer to input vector4. |
VECMAT_ SCALAR_ API void vec4_normalize_ptr_scalar(vector4* res,
const vector4* v)
Normalizes a vector4 by scaling its components to unit length.
| Parameters | |
|---|---|
| res | Pointer to result vector4. |
| v | Pointer to input vector4. |
VECMAT_ SCALAR_ API void vec4_min_ptr_scalar(vector4* res,
const vector4* a,
const vector4* b)
Performs component-wise minimum of two vector4.
| Parameters | |
|---|---|
| res | Pointer to result vector4. |
| a | Pointer to first vector4. |
| b | Pointer to second vector4. |
VECMAT_ SCALAR_ API void vec4_max_ptr_scalar(vector4* res,
const vector4* a,
const vector4* b)
Performs component-wise maximum of two vector4.
| Parameters | |
|---|---|
| res | Pointer to result vector4. |
| a | Pointer to first vector4. |
| b | Pointer to second vector4. |
VECMAT_ SCALAR_ API void vec4_sign_ptr_scalar(vector4* res,
const vector4* v)
Computes the component-wise sign of a vector4.
| Parameters | |
|---|---|
| res | Pointer to result vector4. |
| v | Pointer to input vector4. |
VECMAT_ SCALAR_ API void vec4_floor_ptr_scalar(vector4* res,
const vector4* v)
Performs component-wise floor operation on a vector4.
| Parameters | |
|---|---|
| res | Pointer to result vector4. |
| v | Pointer to input vector4. |
VECMAT_ SCALAR_ API void vec4_ceil_ptr_scalar(vector4* res,
const vector4* v)
Performs component-wise ceiling of a vector4.
| Parameters | |
|---|---|
| res | Pointer to result vector4. |
| v | Pointer to input vector4. |
VECMAT_ SCALAR_ API void vec4_round_ptr_scalar(vector4* res,
const vector4* v)
Performs component-wise rounding of a vector4 to the nearest integer.
| Parameters | |
|---|---|
| res | Pointer to result vector4. |
| v | Pointer to input vector4. |
VECMAT_ SCALAR_ API void vec4_lerp_ptr_scalar(vector4* res,
const vector4* a,
const vector4* b,
const vm_ float_ t t)
Performs linear interpolation between two vector4 with interpolation factor t.
| Parameters | |
|---|---|
| res | Pointer to result vector4. |
| a | Pointer to first vector4. |
| b | Pointer to second vector4. |
| t | Interpolation factor. |
VECMAT_ SCALAR_ API void vec4_clamp_ptr_scalar(vector4* res,
const vector4* v,
const vector4* min,
const vector4* max)
Performs component-wise clamping of a vector4 to the specified min and max bounds.
| Parameters | |
|---|---|
| res | Pointer to result vector4. |
| v | Pointer to input vector4. |
| min | Pointer to minimum bounds vector4. |
| max | Pointer to maximum bounds vector4. |
VECMAT_ SCALAR_ API void vec4_homogenize_ptr_scalar(vector4* res,
const vector4* v)
Homogenizes a vector4 by dividing its x, y, z components by w.
| Parameters | |
|---|---|
| res | Pointer to result vector4. |
| v | Pointer to input vector4. |
If |w| > VECMAT_ and setting w to 1.0f. Otherwise, sets all components of the result to 0.0f.
VECMAT_ SCALAR_ API void vec4_div_ptr_scalar(vector4* res,
const vector4* a,
const vector4* b)
Divides two vectors component-wise.
| Parameters | |
|---|---|
| res | Output vector. |
| a | First input vector. |
| b | Second input vector. |
VECMAT_ SCALAR_ API void vec4_add_scalar_ptr_scalar(vector4* res,
const vector4* v,
const vm_ float_ t s)
Adds a scalar to each component.
| Parameters | |
|---|---|
| res | Output vector. |
| v | Input vector. |
| s | Scalar value. |
VECMAT_ SCALAR_ API void vec4_sub_scalar_ptr_scalar(vector4* res,
const vector4* v,
const vm_ float_ t s)
Subtracts a scalar from each component.
| Parameters | |
|---|---|
| res | Output vector. |
| v | Input vector. |
| s | Scalar value. |
VECMAT_ SCALAR_ API void vec4_clamp_scalar_ptr_scalar(vector4* res,
const vector4* v,
const vm_ float_ t min,
const vm_ float_ t max)
Clamps each component to the scalar range [min, max].
| Parameters | |
|---|---|
| res | Output vector. |
| v | Input vector. |
| min | Lower bound. |
| max | Upper bound. |
VECMAT_ SCALAR_ API void vec4_saturate_ptr_scalar(vector4* res,
const vector4* v)
Clamps each component to the range [0, 1].
| Parameters | |
|---|---|
| res | Output vector. |
| v | Input vector. |
VECMAT_ SCALAR_ API void vec4_fract_ptr_scalar(vector4* res,
const vector4* v)
Returns the fractional part of each component.
| Parameters | |
|---|---|
| res | Output vector. |
| v | Input vector. |
void vec4_project_ptr(vector4* res, const vector4* a, const vector4* b)
Projects a onto b.
| Parameters | |
|---|---|
| res | Output vector. |
| a | First input vector. |
| b | Second input vector. |
void vec4_slide_ptr(vector4* res, const vector4* v, const vector4* normal)
Removes the component of v along normal.
| Parameters | |
|---|---|
| res | Output vector. |
| v | Input vector. |
| normal | Surface normal. |
void vec4_reject_ptr(vector4* res, const vector4* a, const vector4* b)
Returns the component of a orthogonal to b.
| Parameters | |
|---|---|
| res | Output vector. |
| a | First input vector. |
| b | Second input vector. |
void vec4_add_ptr(vector4* res, const vector4* a, const vector4* b)
Component-wise addition (dispatched).
| Parameters | |
|---|---|
| res | Result vector. |
| a | First vector. |
| b | Second vector. |
void vec4_sub_ptr(vector4* res, const vector4* a, const vector4* b)
Component-wise subtraction (dispatched).
| Parameters | |
|---|---|
| res | Result vector. |
| a | First vector. |
| b | Second vector. |
void vec4_mul_ptr(vector4* res, const vector4* a, const vector4* b)
Component-wise multiplication (dispatched).
| Parameters | |
|---|---|
| res | Result vector. |
| a | First vector. |
| b | Second vector. |
void vec4_mul_scalar_ptr(vector4* res,
const vector4* v,
const vm_ float_ t s)
Multiplies a vector by a scalar (dispatched).
| Parameters | |
|---|---|
| res | Result vector. |
| v | Input vector. |
| s | Scalar. |
void vec4_div_scalar_ptr(vector4* res,
const vector4* v,
const vm_ float_ t s)
Divides a vector by a scalar (dispatched).
| Parameters | |
|---|---|
| res | Result vector. |
| v | Input vector. |
| s | Scalar. |
void vec4_neg_ptr(vector4* res, const vector4* v)
Negates a vector (dispatched).
| Parameters | |
|---|---|
| res | Result vector. |
| v | Input vector. |
void vec4_abs_ptr(vector4* res, const vector4* v)
Component-wise absolute value (dispatched).
| Parameters | |
|---|---|
| res | Result vector. |
| v | Input vector. |
void vec4_normalize_ptr(vector4* res, const vector4* v)
Normalizes a vector (dispatched).
| Parameters | |
|---|---|
| res | Result vector. |
| v | Input vector. |
void vec4_min_ptr(vector4* res, const vector4* a, const vector4* b)
Component-wise minimum (dispatched).
| Parameters | |
|---|---|
| res | Result vector. |
| a | First vector. |
| b | Second vector. |
void vec4_max_ptr(vector4* res, const vector4* a, const vector4* b)
Component-wise maximum (dispatched).
| Parameters | |
|---|---|
| res | Result vector. |
| a | First vector. |
| b | Second vector. |
void vec4_lerp_ptr(vector4* res,
const vector4* a,
const vector4* b,
const vm_ float_ t t)
Linear interpolation (dispatched).
| Parameters | |
|---|---|
| res | Result vector. |
| a | First vector. |
| b | Second vector. |
| t | Interpolation factor. |
void vec4_clamp_ptr(vector4* res, const vector4* v, const vector4* min, const vector4* max)
Component-wise clamp (dispatched).
| Parameters | |
|---|---|
| res | Result vector. |
| v | Input vector. |
| min | Lower bound. |
| max | Upper bound. |
void vec4_div_ptr(vector4* res, const vector4* a, const vector4* b)
Component-wise division (dispatched).
| Parameters | |
|---|---|
| res | Result vector. |
| a | First vector. |
| b | Second vector. |
void vec4_add_scalar_ptr(vector4* res,
const vector4* v,
const vm_ float_ t s)
Adds a scalar to each component (dispatched).
| Parameters | |
|---|---|
| res | Result vector. |
| v | Input vector. |
| s | Scalar. |
void vec4_sub_scalar_ptr(vector4* res,
const vector4* v,
const vm_ float_ t s)
Subtracts a scalar from each component (dispatched).
| Parameters | |
|---|---|
| res | Result vector. |
| v | Input vector. |
| s | Scalar. |
void vec4_clamp_scalar_ptr(vector4* res,
const vector4* v,
const vm_ float_ t min,
const vm_ float_ t max)
Clamps each component to a scalar range (dispatched).
| Parameters | |
|---|---|
| res | Result vector. |
| v | Input vector. |
| min | Lower bound. |
| max | Upper bound. |
void vec4_saturate_ptr(vector4* res, const vector4* v)
Clamps each component to [0, 1] (dispatched).
| Parameters | |
|---|---|
| res | Result vector. |
| v | Input vector. |
void vec4_sign_ptr(vector4* res, const vector4* v)
Component-wise sign (dispatched).
| Parameters | |
|---|---|
| res | Result vector. |
| v | Input vector. |
void vec4_floor_ptr(vector4* res, const vector4* v)
Component-wise floor (dispatched).
| Parameters | |
|---|---|
| res | Result vector. |
| v | Input vector. |
void vec4_ceil_ptr(vector4* res, const vector4* v)
Component-wise ceil (dispatched).
| Parameters | |
|---|---|
| res | Result vector. |
| v | Input vector. |
void vec4_round_ptr(vector4* res, const vector4* v)
Component-wise round (dispatched).
| Parameters | |
|---|---|
| res | Result vector. |
| v | Input vector. |
void vec4_fract_ptr(vector4* res, const vector4* v)
Component-wise fractional part (dispatched).
| Parameters | |
|---|---|
| res | Result vector. |
| v | Input vector. |
void vec4_homogenize_ptr(vector4* res, const vector4* v)
Divides xyz by w (dispatched).
| Parameters | |
|---|---|
| res | Result vector. |
| v | Input vector. |