Multi-LOD segmentation
Atomontage Engine processes the voxels in chunks. The whole content is segmented on all LODs.
The segmentation performed by the renderer results in the processing of small segments called "render-atoms".
Each render-atom is processed by a CPU-based "volumetric shader" which applies only the relevant effects to it, other effects are omitted.
The cast soft-shadow as well as the indirect illumination are currently simple proof-of-concept CPU-based solutions.
Processing of render-atoms of different sizes (left and middle) and multiple LODs of the voxelized content (right).
Click on any image to view its full-size version.
(opens in a new window or tab)
Error-driven processing
The application of the effects is error-driven so that almost no resources are wasted on unnecessary calculations.
This way an acceptable error is introduced into the rendered data.
The data is then sent to the GPU by the hardware accelerated part of the renderer (that's similar with other accelerated solutions).
Acceptable error after saving >70% of calculations (left) and visible artifacts after saving >90% of calculations (right).
Click on any image to view its full-size version.
(opens in a new window or tab)
An intelligent approach
Many features in Atomontage Engine are intelligent rather than brute-force solutions.
The engine doesn't waste resources on unnecessary detail or quality of the features.
The selective multi-LOD error-driven processing is necessary to make an atom-based technology work in real-time on hardware with limited capabilities.
Currently many of the effects are CPU-based prototypes.
The intelligent processing makes the use of these prototypes acceptable no matter that their current implementation is rather slow.
The CPU-based effects will be replaced with GPU-based solutions soon.