Current section

Files

Jump to
matrix_gleam src matrix internal projection.gleam
Raw

src/matrix/internal/projection.gleam

import vec/vec2.{type Vec2, Vec2}
import vec/vec3.{type Vec3, Vec3}
import vec/vec4.{type Vec4, Vec4}
pub fn to_xz(v: Vec3(a)) -> Vec2(a) {
Vec2(x: v.x, y: v.z)
}
pub fn to_xy(v: Vec3(a)) -> Vec2(a) {
Vec2(x: v.x, y: v.y)
}
pub fn to_yz(v: Vec3(a)) -> Vec2(a) {
Vec2(x: v.y, y: v.z)
}
pub fn to_xyz(vec: Vec4(a)) -> Vec3(a) {
Vec3(x: vec.x, y: vec.y, z: vec.z)
}
pub fn extend2(vec: Vec2(a), z: a) -> Vec3(a) {
Vec3(x: vec.x, y: vec.y, z:)
}
pub fn extend3(vec: Vec3(a), w: a) -> Vec4(a) {
Vec4(x: vec.x, y: vec.y, z: vec.z, w:)
}