global_illumination - armory3d/armory GitHub Wiki
This page presents a quick start guide to let you easily setup global illumination in your Armory projects.
Armory features a fully dynamic global illumination technique based on a combination of voxel cone-tracing and screen-space ray-tracing. First, the scene is voxelized and processed into a 3D texture. This data is then used to gather ambient occlusion of the scene. Afterwards, screen-space ray-tracing is performed for detail.
- Get the teapots .blend scene.
- A graphics card with OpenGL 4.4 or Direct3D 11 support (for voxelization).
- Runs on Windows and Linux.
Enable Properties - Render - Armory Render Path - Voxel AO.
The cheapest way of utilizing voxels, usable for ambient occlusion and shadows.
- Control the quality using the
Conesproperty. - Control the intensity using the
Occlusionproperty. - Tweak tracing parameters using the
Step, Range, Offsetproperties.

Locate Properties - Render - Armory Render Path - Voxel AO panel to configure voxelization volume.
- Adjust
Dimensionsto control the volume size. Objects placed out of this volume will not contribute to global illumination. By default, dimensions are set to 16 - meaning a volume of 16x16x16 blender units gets voxelized. - Set
Resolutionto specify amount of voxels used for the volume. For performance, keep this at 128 or below. - Reduce the
Resolution Zmultiplier to conserve memory if your scene is mostly flat on the Z axis (like a chess board). WithResolution Zset to 0.5, 16x16x8 dimensions will get voxelized. - Enable
Revoxelizeproperty to update voxel volume every frame. In case of mostly static scenes, you can keep this off - moving objects will receive indirect lighting, but will not affect it. To prevent object from contributing into indirect lighting, enableProperties - Object - Armory Props - Mobile. - With
Revoxelizechecked, enableDynamic Camerato voxelize scene around the camera. As the camera moves, voxelization volume will move as well, making it possible to cover infinitely big scenes. WithDynamic Cameradisabled, the volume at the scene origin(0,0,0) gets voxelized. -
Temporal Filterwill blend the indirect lighting with results from the previous frame, in order to minimize flickering.
Set Properties - Render - Armory Render Path - Post Process - SSGI - SSAO to RTAO.
Ambient occlusion will be traced.
- Control the quality using the
Rays, Step, Max Stepsproperties. - Control the intensity using the
Strengthproperty.
Small scale contact shadows will be traced.
Enable Properties - Render - Armory Render Path - Post Process - SSRS.
- Increase
Stepin case of artifacts.
Local reflections will be traced.
Enable Properties - Render - Armory Render Path - SSR.
- Increase
Stepin case of artifacts.
Blender has a full path-tracing Cycles engine integrated. For static scenes, you can pre-bake lighting down into lightmaps using the built-in Armory Bake tool.
-
Locate
Properties - Render - Armory Bakepanel. -
Add objects to be baked or click
Triangle - Add All. -
Hit
Baketo generate lightmaps for all listed objects. -
Once done, hit
Applyto restore materials and pack lightmaps. -
Optionally, set
Properties - Render - Armory Render Path - Presetto2D/Baked. -
Run(F5)! Armory picks up baked materials.
-
Get example .blend scene.
Currently supported light probe features: