Title :
A generic rendering system
Author :
Döllner, Jürgen ; Hinrichs, Klaus
Author_Institution :
Hasso-Plattner Inst., Potsdam Univ., Germany
Abstract :
Describes the software architecture of a rendering system that follows a pragmatic approach to integrating and bundling the power of different low-level rendering systems within an object-oriented framework. The generic rendering system provides higher-level abstractions to existing rendering systems and serves as a framework for developing new rendering techniques. It wraps the functionality of several widely-used rendering systems, defines a unified object-oriented application programming interface and provides an extensible, customizable apparatus for evaluating and interpreting hierarchical scene information. As a fundamental property, individual features of a specific rendering system can be integrated into the generic rending system in a transparent way. The system is based on a state machine, called an "engine", which operates on "rendering components". Four major categories of rendering components constitute the generic rendering system: "shapes" represent geometries, "attributes" specify properties assigned to geometries and scenes, "handlers" encapsulate rendering algorithms, and "techniques" represent evaluation strategies for rendering components. As a proof of concept, we have implemented the described software architecture using the Virtual Rendering System, which currently wraps the functionality of the OpenGL, Radiance, POV Ray and RenderMan systems
Keywords :
application program interfaces; object-oriented programming; rendering (computer graphics); software architecture; OpenGL; POV Ray; Radiance; RenderMan; Virtual Rendering System; evaluation strategies; extensible customizable apparatus; generic rendering system; geometries; hierarchical scene information; high-level abstractions; low-level rendering systems; multi-pass rendering; object-oriented framework; object-oriented graphics; pragmatic approach; rendering algorithm encapsulation; rendering attributes; rendering components; rendering engine; rendering handlers; rendering techniques; shapes; software architecture; state machine; unified object-oriented application programming interface; wrapper; Engines; Functional programming; Geometry; Layout; Object oriented programming; Rendering (computer graphics); Shape; Software architecture;
Journal_Title :
Visualization and Computer Graphics, IEEE Transactions on
DOI :
10.1109/2945.998664