21 lines
433 B
Rust
21 lines
433 B
Rust
use crate::types_defined::Vec3;
|
|
|
|
pub fn clamp(value: f32, low: f32, high: f32) -> f32 {
|
|
if value < low {
|
|
return low;
|
|
}
|
|
if value > high {
|
|
return high;
|
|
}
|
|
return value;
|
|
}
|
|
|
|
// pub fn near_zero(v: Vec3) -> bool {
|
|
// const EPSILON: f32 = 1e-4;
|
|
|
|
// v.x.abs() < EPSILON && v.y.abs() < EPSILON && v.z.abs() < EPSILON
|
|
// }
|
|
|
|
pub fn reflect(v: Vec3, n: Vec3) -> Vec3 {
|
|
v - ((2.0 * v.dot(n)) * n)
|
|
} |