An Incremental Rendering VM

Loading...
Thumbnail Image
Date
2015
Journal Title
Journal ISSN
Volume Title
Publisher
ACM Siggraph
Abstract
We introduce an incremental rendering layer on top of standard graphics APIs such as OpenGL or DirectX in the form a virtual machine (VM), which efficiently maintains an optimized, compiled representation of arbitrary high-level scene representations at all times. This includes incremental processing of structural changes such as additions and removals of scene parts, as well as in-place updates of scene data. Our approach achieves a significant framerate increase for typical workloads and reasonable performance for high-frequency changes. Processing is performed in running time O( ), where is proportional to the size of the change and the optimized representation has no runtime overhead with respect to the underlying graphics API. This is achieved by tracking and applying all changes as incremental updates to appropriate data structures and by adaptively synthesizing a program of abstract machine code. In a final step this abstract program is incrementally mapped to executable machine code-comparable to what just-in-time compilers do. Our main contributions are (i) an abstract interface for rendering and visualization systems enabling incremental evaluation, (ii) adaptively optimized abstract machine code in the context of stateless graphics commands, and (iii) subsequent adaptive compilation to executable machine code including on-the-fly defragmentation.
Description

        
@inproceedings{
10.1145:2790060.2790073
, booktitle = {
High-Performance Graphics
}, editor = {
Petrik Clarberg and Elmar Eisemann
}, title = {{
An Incremental Rendering VM
}}, author = {
Haaser, Georg
and
Steinlechner, Harald
and
Maierhofer, Stefan
and
Tobler, Robert F.
}, year = {
2015
}, publisher = {
ACM Siggraph
}, ISBN = {
978-1-4503-3707-6
}, DOI = {
10.1145/2790060.2790073
} }
Citation