Advanced search tips: use spaces to require multiple terms (AND), | for alternatives (OR), wrap phrases in quotes (="a b"), =term for exact match, 'term to include, !term to exclude, ^term to match prefix, !^term to exclude prefix, .ext$ to match suffix, and !.ext$ to exclude suffix.

view_transformations.wgsl

Import path

Functions

position_view_to_world

#

Convert a view space position to world space

fn position_view_to_world (
view_pos: vec3<f32>
) -> vec3<f32>

position_clip_to_world

#

Convert a clip space position to world space

fn position_clip_to_world (
clip_pos: vec4<f32>
) -> vec3<f32>

position_ndc_to_world

#

Convert a ndc space position to world space

fn position_ndc_to_world (
ndc_pos: vec3<f32>
) -> vec3<f32>

direction_view_to_world

#

Convert a view space direction to world space

fn direction_view_to_world (
view_dir: vec3<f32>
) -> vec3<f32>

direction_clip_to_world

#

Convert a clip space direction to world space

fn direction_clip_to_world (
clip_dir: vec4<f32>
) -> vec3<f32>

position_world_to_view

#

Convert a world space position to view space

fn position_world_to_view (
world_pos: vec3<f32>
) -> vec3<f32>

position_clip_to_view

#

Convert a clip space position to view space

fn position_clip_to_view (
clip_pos: vec4<f32>
) -> vec3<f32>

position_ndc_to_view

#

Convert a ndc space position to view space

fn position_ndc_to_view (
ndc_pos: vec3<f32>
) -> vec3<f32>

direction_world_to_view

#

Convert a world space direction to view space

fn direction_world_to_view (
world_dir: vec3<f32>
) -> vec3<f32>

direction_clip_to_view

#

Convert a clip space direction to view space

fn direction_clip_to_view (
clip_dir: vec4<f32>
) -> vec3<f32>

position_world_to_prev_view

#
fn position_world_to_prev_view (
world_pos: vec3<f32>
) -> vec3<f32>

position_world_to_prev_ndc

#
fn position_world_to_prev_ndc (
world_pos: vec3<f32>
) -> vec3<f32>

position_world_to_clip

#

Convert a world space position to clip space

fn position_world_to_clip (
world_pos: vec3<f32>
) -> vec4<f32>

position_view_to_clip

#

Convert a view space position to clip space

fn position_view_to_clip (
view_pos: vec3<f32>
) -> vec4<f32>

direction_world_to_clip

#

Convert a world space direction to clip space

fn direction_world_to_clip (
world_dir: vec3<f32>
) -> vec4<f32>

direction_view_to_clip

#

Convert a view space direction to clip space

fn direction_view_to_clip (
view_dir: vec3<f32>
) -> vec4<f32>

position_world_to_ndc

#

Convert a world space position to ndc space

fn position_world_to_ndc (
world_pos: vec3<f32>
) -> vec3<f32>

position_view_to_ndc

#

Convert a view space position to ndc space

fn position_view_to_ndc (
view_pos: vec3<f32>
) -> vec3<f32>

perspective_camera_near

#

Retrieve the perspective camera near clipping plane

fn perspective_camera_near () -> f32

depth_ndc_to_view_z

#

Convert ndc depth to linear view z. Note: Depth values in front of the camera will be negative as -z is forward

fn depth_ndc_to_view_z (
ndc_depth: f32
) -> f32

view_z_to_depth_ndc

#

Convert linear view z to ndc depth. Note: View z input should be negative for values in front of the camera as -z is forward

fn view_z_to_depth_ndc (
view_z: f32
) -> f32

prev_view_z_to_depth_ndc

#
fn prev_view_z_to_depth_ndc (
view_z: f32
) -> f32

ndc_to_uv

#

Convert ndc space xy coordinate [-1.0 .. 1.0] to uv [0.0 .. 1.0]

fn ndc_to_uv ( ) -> vec2<f32>

uv_to_ndc

#

Convert uv [0.0 .. 1.0] coordinate to ndc space xy [-1.0 .. 1.0]

fn uv_to_ndc ( ) -> vec2<f32>

frag_coord_to_uv

#

returns the (0.0, 0.0) .. (1.0, 1.0) position within the viewport for the current render target [0 .. render target viewport size] eg. [(0.0, 0.0) .. (1280.0, 720.0)] to [(0.0, 0.0) .. (1.0, 1.0)]

fn frag_coord_to_uv (
frag_coord: vec2<f32>
) -> vec2<f32>

frag_coord_to_ndc

#

Convert frag coord to ndc

fn frag_coord_to_ndc (
frag_coord: vec4<f32>
) -> vec3<f32>

ndc_to_frag_coord

#

Convert ndc space xy coordinate [-1.0 .. 1.0] to [0 .. render target viewport size]

fn ndc_to_frag_coord ( ) -> vec2<f32>