getViewPosition

Last modified: Nov 28, 2025

Computes a position in view space based on a fragment’s screen position expressed as uv coordinates, the fragments depth value and the camera’s inverse projection matrix.

ParameterTypeDefault Value
screenPositionNode<vec2>
depthNode<float>
projectionMatrixInverseNode<mat4>

Returns

Node<vec3>

getScreenPosition

Computes a screen position expressed as uv coordinates based on a fragment’s position in view space and the camera’s projection matrix

ParameterTypeDefault Value
viewPositionNode<vec3>
projectionMatrixNode<mat4>

Returns

Node<vec2>

getNormalFromDepth

Computes a normal vector based on depth data. Can be used as a fallback when no normal render target is available or if flat surface normals are required.

ParameterTypeDefault Value
uvNode<vec2>
depthTextureDepthTexture
projectionMatrixInverseNode<mat4>

Returns

Node<vec3>

interleavedGradientNoise

Interleaved Gradient Noise (IGN) from Jimenez 2014.

IGN has “low discrepancy” resulting in evenly distributed samples. It’s superior compared to default white noise, blue noise or Bayer.

References:

ParameterTypeDefault Value
positionNode<vec2>

Returns

Node<float>

vogelDiskSample

Vogel disk sampling for uniform circular distribution.

This function generates sample points distributed uniformly on a disk using the golden angle, resulting in an efficient low-discrepancy sequence for sampling. The rotation parameter (phi) allows randomizing the pattern per-pixel when combined with IGN.

ParameterTypeDefault Value
sampleIndexNode<int>
samplesCountNode<int>
phiNode<float>

Returns

Node<vec2>