Information
- Publication Type: Master Thesis
- Workgroup(s)/Project(s):
- Date: December 2012
- TU Wien Library:
- First Supervisor: Werner Purgathofer
Abstract
Scene graphs are a common way of representing 3-dimensional scenes for graphical applications. A scene is represented as a hierarchical structure of nodes which represent 3D geometry, spatial transformations, surface properties, and other-possibly application specific-aspects. Scene graph systems can be designed to be very generic and flexible, e.g. by allowing users to implement custom node types and traversals or by providing facilities to dynamically create subgraphs during a traversal. This flexibility comes at the cost of increased time spent in pure traversal logic. Especially for CPU-bound applications this causes a performance drop. This thesis proposes a scene graph caching system that automatically creates an alternative representation of selected subgraphs. This alternative representation poses a render cache in the form of a so-called instruction stream which allows to render the cached subgraph at lower CPU cost and thus more quickly than with a regular render traversal. In order to be able to update render caches incrementally in reaction to certain scene graph changes, a dependency system was developed. This system provides a model for describing and tracking changes in the scene graph and enables the scene graph caching system to update only those parts of the render cache that needs to be updated. The actual performance characteristics of the scene graph caching system were investigated using a number of synthetic test scenes in different configurations. These tests showed that the caching system is most useful in scenes with a high structural complexity (high geometry count and/or deep scene graph hierarchies) and moderate primitive count per geometry.Additional Files and Images
Weblinks
No further information available.BibTeX
@mastersthesis{Woerister_2012_ACS,
title = "A caching system for a dependency-aware scene graph ",
author = "Michael Woerister",
year = "2012",
abstract = "Scene graphs are a common way of representing 3-dimensional
scenes for graphical applications. A scene is represented as
a hierarchical structure of nodes which represent 3D
geometry, spatial transformations, surface properties, and
other-possibly application specific-aspects. Scene graph
systems can be designed to be very generic and flexible,
e.g. by allowing users to implement custom node types and
traversals or by providing facilities to dynamically create
subgraphs during a traversal. This flexibility comes at the
cost of increased time spent in pure traversal logic.
Especially for CPU-bound applications this causes a
performance drop. This thesis proposes a scene graph caching
system that automatically creates an alternative
representation of selected subgraphs. This alternative
representation poses a render cache in the form of a
so-called instruction stream which allows to render the
cached subgraph at lower CPU cost and thus more quickly than
with a regular render traversal. In order to be able to
update render caches incrementally in reaction to certain
scene graph changes, a dependency system was developed. This
system provides a model for describing and tracking changes
in the scene graph and enables the scene graph caching
system to update only those parts of the render cache that
needs to be updated. The actual performance characteristics
of the scene graph caching system were investigated using a
number of synthetic test scenes in different configurations.
These tests showed that the caching system is most useful in
scenes with a high structural complexity (high geometry
count and/or deep scene graph hierarchies) and moderate
primitive count per geometry.",
month = dec,
address = "Favoritenstrasse 9-11/E193-02, A-1040 Vienna, Austria",
school = "Institute of Computer Graphics and Algorithms, Vienna
University of Technology ",
URL = "https://www.cg.tuwien.ac.at/research/publications/2012/Woerister_2012_ACS/",
}