Image Parallax*

Preview
Performance Cost 🔴 High
Signal Type Texture → UVs
Implementation Native Compiled C++
Devices (Cycles) CPU / GPU (1:1)

Image Parallax simulates complex 3D surface depth on flat geometry using advanced Parallax Occlusion Mapping (POM). Unlike standard Bump or Normal mapping which only affects lighting, this node calculates actual self-occlusion and parallax shifts by ray-marching through a virtual height volume. It creates the illusion of deep cracks, bricks, and displacement without the heavy cost of tessellating geometry.

Usage & Behavior

POM with Smart Filtering
Without Smart Filtering
Self-Shadowing (Occlusion)
Auto-Generated Normals

This node is designed to act as a "Pre-Processor" for your material. You plug your Height Map into it, and it outputs Shifted/Parallaxed UVs. You then use these new UVs to sample your Base Color, Roughness, etc. This ensures that the texture "sinks" into the holes correctly. It also outputs a calculated Normal and Occlusion map based on the ray-traced depth. However you can also use a diffuse/albedo texture directly and grab the parallaxed output wih the Color socket.

Best Used For: Bricks, cobblestones, roof tiles, sci-fi panels, vents, grates, and any surface with deep, distinct cavities.

Key Features

  • Parallax Occlusion: Full ray-marching with Binary Search refinement for high precision.
  • Self-Shadowing: Calculates ambient occlusion shadows cast by the height map peaks.
  • Smart Filtering: Intelligently suppresses noise on flat surfaces while preserving deep edges.

Deep Dive: The "Brick vs. Mortar" Problem

Standard POM fails when height maps are noisy. Micro-bumps on a brick face confuse the ray-marcher, causing visual artifacts. Our Smart Filter solves this.

  • Adaptive Analysis: The shader analyzes the local contrast (Min/Max) of the height map.
  • Selective Blur: It detects "Cliffs" (mortar lines) vs "Flats" (brick faces).
  • The Result: It effectively ignores high-frequency noise on the flat surfaces (preventing artifacts) while keeping the deep structural edges perfectly sharp.

Cheat Sheet: Detail Suppression Modes

Choosing the right filter is key to balancing Detail vs. Stability.

  • Basic / Fast
    • NONE: Raw ray-marching. Sharpest, but prone to noise artifacts.
    • FILTERED: Simple blur. Good for very noisy textures but loses detail.
    • MINMAX: Clamps extreme peaks/valleys to stabilize the surface.
  • Edge-Preserving
    • BILATERAL: Blurs flat areas but preserves sharp structural edges (cliffs).
    • BILATERAL_ADAPTIVE: Adjusts blur strength based on distance/angle.
    • VARIANCE: Statistical filtering. Good for grainy surfaces like asphalt.
  • Intelligent
    • SMART: The recommended default. Combines structural analysis with adaptive filtering to perfectly separate "Brick" (flat) from "Mortar" (deep) without manual tuning.

The Native Advantage : True POM

Many node groups claim to do Parallax, but they often rely on simple "Iterative Offset" which creates banding artifacts. Rombo Image Parallax runs a compiled C++ ray-marcher directly in the kernel.

Node-Based "Fake" POM
  • Linear Only: Lacks Binary Search refinement, causing "stair-stepping" layers.
  • No Self-Shadowing: Cannot calculate ambient occlusion because it's too expensive in nodes.
  • Artifacts: Noise in the height map breaks the ray-marcher instantly.
Native C++ Engine
  • Binary Search: Refines the intersection point for perfect, smooth depth.
  • Real Occlusion: Casts actual soft shadows from the height peaks onto the valleys.
  • Smart Filter: Intelligently cleans the height map on the fly to prevent artifacts.

Parameters

Image Pointer
The Height Map texture.
Vector Vector
Input texture coordinates.

Depth Controls

Depth (default: 0.1)
The virtual depth of the effect. Higher values make holes deeper but require more steps to look clean.
Base Steps (default: 32)
The number of ray-march samples. Increase this if you see "slicing" or "stair-stepping" artifacts inside the holes.

Shadowing

Occlusion Strength (default: 1.0)
Multiplies the intensity of the calculated self-shadows.
Occlusion Steps (default: 16)
Quality of the shadow calculation. Higher values produce softer, more accurate shadows but cost performance.

Smart Detail

Detail Suppression Mode Enum
Selects the filtering algorithm.
SMART or BILATERAL_ADAPTIVE are recommended for textured surfaces to clean up noise.
Detail Suppression (default: 0.1)
Strength of the noise removal. Increase this if the surface looks "grainy" or unstable.

Normals & Fade

Normal Strength (default: 0.2)
Intensity of the auto-generated normal map.
Fade Start / End (default: 2.0 / 100.0)
Distance/Angle optimization. fades the effect out at grazing angles or distance to prevent aliasing and save performance.

Quick Recipes

Setup guides for common materials.

Paving Stones

  • Depth 0.05
  • Base Steps 32
  • Occlusion 1.5
  • Mode SMART
Moderate depth with strong occlusion highlights the gaps between stones.

Sci-Fi Floor Grate

  • Depth 0.2
  • Base Steps 64
  • Detail Suppr. 0.0
Deep metal grates need high steps and zero suppression to keep edges sharp.

Noisy Concrete

  • Depth 0.02
  • Mode BILATERAL
  • Suppression 0.5
High suppression smooths out the micro-noise of concrete, preventing artifacts.
↑ Back to Top

Leave a Reply