Environment
Position
3D Position
The current point in local coordinates (relative to the center of the current object).
3D Original Position
The original position, before any deformations. This is important if you want to map a texture onto the surface of an object that has been deformed.
3D World Position
The world position of the current point.
View Plane
View Plane Position
View Plane Position converts a 3D position to 2D view plane coordinates.
It computes a 2D coordinate showing where the 3D point appears within the scene viewer:
- (0, 0) = Bottom-left corner
- (1, 1) = Top-right corner
- (0.5, 0.5) = Center of screen
To calculate an offset in the view plane, use the Offset in View Plane node.
COMMON USES
Place 2D UI over 3D objects:
- Name tags above characters
- Labels on 3D points
Interactive selection:
- Compare object view plane position to mouse position
- Detect which 3D object cursor is near
Screen-space effects:
- Position particles relative to screen
- Create effects anchored to screen coordinates
View Plane Size
Normal
3D Normal
The value of the normal. It could have been imported with an OBJ model, or it might have been set using →Position & Normal.
Object
Section
Reads the section value that can be used to map images onto an object. The section value is most often incorporated into the object itself if it’s an imported 3D OBJ model, but it can also be explicitly set with the →Section node.
Two images mapped onto an object using imported uv and section values.
(source)Object Size
The size of the smallest box enclosing the current object. Used to calculate UV together with Min Position, to make sure the UV coordinates are in the range 0-1.
Min Position
The minimum point (lower bound) corner of a the smallest enclosing cube. Together with Object Size used to calculate UV, to make sure the UV coordinates are in the range 0-1.
Camera
Camera Distance
The distance from the current point to the camera.
Camera Values
Light
Light Values
The Light Values node extracts direction and distance information from the light source.
- lightDirection – Vector pointing toward the light (for lighting calculations)
- lightDistance – Distance to light (for falloff/attenuation)
Use for calculating realistic lighting with distance falloff, detecting which surfaces face the light, creating proximity-based effects.
Example: brightness = max(0.0, dot(surfaceNormal, lightDirection))
Often combined with the Dot Product and 3D Normal nodes.
Note: In most cases it’s enough to use the PBR Lighting node for realistic lighting, as it makes these calculations for you.
Shadow Values
The Shadow Values node calculates shadow intensity for a surface position, providing both hard-edged and soft-edged shadow options.
directShadow – Hard-edged shadow (single sample)
- 1.0 = Fully lit (not in shadow)
- 0.0 = Fully shadowed (in darkness)
- Fast, crisp shadows with sharp edges
- Can show aliasing (jagged edges)
shadow – Soft-edged shadow (9-sample PCF)
- 1.0 = Fully lit (not in shadow)
- 0.0 = Fully shadowed (in darkness)
- Smoother shadows with softer edges
- Slightly more expensive, but reduces jaggedness
Example: finalColor = baseColor * lightIntensity * shadow
Use directShadow for fast, sharp shadows (pixel art, stylized looks).
Use shadow for realistic, smooth shadows (most cases).
Technical Details
- directShadow: Single shadow map sample (fastest)
- shadow: 3×3 PCF (Percentage Closer Filtering) - averages 9 samples for smooth edges
- Both account for shadow bias to prevent self-shadowing artifacts
- Returns 1.0 if position is outside shadow map range (fully lit)
Note: In most cases it’s enough to use the PBR Lighting node for realistic lighting, as it makes these calculations for you.
Time & Frame
Time
The time value (always growing). Time can be sped up or slowed down with the Speed parameter of the current object.
Frame Count
The Frame Count node returns an integer that increments by one each frame, starting at 0. For preparatory setup it is important to know when it’s the first frame (i.e. frame count = 0).
Vertex to Fragment
Vertex Color
This node should be used in the fragment shader. It calculates the interpolated value of vertex colors set by the →Color node.
Point Size
The Point Size node is only applicable when your object is a particle cloud. It calculates the point size value by multiplying the value of the Point Size property under Vertex Shader in the pop-out menu with any value set with the →Point Size node in the vertex network.