SpatialShadery¶
This shader is spatialy aware and is used for multi projector installation where the use of softedge is necessary.
It is mainly used for Spatial Augmented Reality installations where there is the need for the creation of dynamic softedges.

Core of Spatial Augmented Reality
SpatialShadery is at the heart of SPARCK's multi-projector capabilities. It computes per-projector pixel visibility and brightness in real-time, producing smooth soft-edge blending across up to 6 projectors simultaneously. This enables dynamic softedges that automatically adapt as projection surfaces or projectors move.
Reference¶
The following properties can be configured for this node:
| Property | Type | Description |
|---|---|---|
shader |
- | the shader type: |
project to |
- | projection type: |
BeamerA-F |
- | Select the Beamer or SceneCapture node from where to project. |
occlusion |
- | tries to adjust for occlusions of objects. |
depth dim |
- | depth texture size of the occlusion pass. |
projection |
- | use only front, back or both side of the canvas |
angle mode |
- | angle differentiation: |
spread |
- | spread factor will increase the differentiation between overlapping projections |
distance |
- | use distance as an additional differentiator. It will show its influence when the spread is increased. (0 = no influence) |
blend bg |
- | enables blending with the background |
interpolation |
- | interpolation |
angle limit |
- | angle limit (how much of the visible surface area is considered, 0 = no limit) |
angle falloff |
- | angle-limit falloff (defines the size of the angle blend transition at the angle limit) |
bevel size |
- | bevel size |
bevel curve |
- | bevel curve |
bevel round |
- | use rounded bevel |
offcolor |
- | surface color of uncovered areas |
output |
- | display mode of the model on which this shader is applied onto. |
power |
- | blend power - softegde blend parameter |
luminance |
- | luminance - softegde blend parameter |
gradient curve |
- | adjusts the softedge curve |
gamma |
- | gamma correction |
| Inlet | Type | Description |
|---|---|---|
| properties | properties | properties | use message [set <propertyPath> <value(s)>] (without node/<nodeName> at the beginning) to set internal properties |
| Outlet | Type | Description |
|---|---|---|
| texture | texture | texture list with depth pass |
Shader Modes¶
Choosing the Right Shader Mode
SpatialShadery offers two shader modes for different workflow requirements:
| Mode | Description | Use Case |
|---|---|---|
| edge | Outputs per-projector weight masks only | Two-stage workflow with BlendSoftedge for final compositing |
| edge & blend | Computes edge weights AND final blended result | Single-pass workflow for simpler setups |
For most Spatial Augmented Reality setups, use edge & blend with project to set to baked textures for best results.
Typical Configuration¶
Floor Projection Setup
For a typical multi-projector floor projection:
- shader:
edge & blend - project to:
baked textures - Beamer A–D: Assign each calibrated Beamer
- projection:
both side(orfront sidefor single-sided surfaces) - output:
result
Then fine-tune the blending parameters:
- spread: Start around
0.5— controls pixel distribution between overlapping projectors (0 = no spread, 1 = full spread) - distance: Add if spread alone isn't enough differentiation
- power: Adjust soft-edge curve steepness
- luminance: Balance brightness between projectors
Debugging Output Modes¶
Visualizing Projection Coverage
Use the output property to debug your multi-projector setup:
- result: Final blended output (use for production)
- content: Shows the input texture without blending
- mask: Shows the per-projector weight distribution — useful for visualizing which projector covers which area and identifying overlap regions
IMPORTANT: Projection Selection
This shader is usually applied to a Canvas which in turn is rendered (or captured) by a capture node (be it a Beamer or SceneCapture). It is of utmost importance that the 'projection' selection points to the capture node that renders the canvas this shader is applied to, otherwise this shader will not work as intended.
Calibration is Essential
SpatialShadery relies on accurate projector calibration to compute correct pixel visibility. Ensure all Beamer nodes are properly calibrated to get best results.
-
Quick Start
Get started with SpatialShadery in minutes
-
Complementing SpatialShadery
-
Tutorials
-
Community
Need help or want to suggest improvements?
Last updated: 2025-12-01 | Edit this page on GitHub