Internal Design
Visualization Library design is based on algorithmic and data structure specialization and separation, unlike many other 3D frameworks part of the so-called "uber scene graph" family, that is, those 3d engines that keep all the rendering information in a single hierarchical structure. Thus, Visualization Library uses different data structures (possibly hierarchical) to manage each particular domain of the rendering pipeline. For example the transform tree is kept in a separate tree graph data structure and the objects part of the scene ("Actors" in Visualization Library parlance) can freely refer to a node of the transform tree. Actors are kept in their own scene partitioning data structure from which their visibility is tested against the view frustum and from which eventually they are extracted at rendering time to be part of the rendering queue. This allow VL to be independent from, and take advantage of, virtually any type of scene management technique, such as PVS, portal/sector, KdTree, quad trees, octrees etc. Shaders are also a concept that is kept independent from the rest of the logic and do not require any hierarchical data structure to be used by an Actor. However VL provides a ShaderNode class, as a high level service, that allows the user to update and manage Shaders in a hierarchical way using inheritance rules similar to the ones commonly available in uber-scene-graph based frameworks. The rendering pipeline follows a similar modular approach, so that highly customized rendering techniques can be implemented by assembling and reusing VL components.
Read more about this topic: Visualization Library
Famous quotes containing the words internal and/or design:
“The analogy between the mind and a computer fails for many reasons. The brain is constructed by principles that assure diversity and degeneracy. Unlike a computer, it has no replicative memory. It is historical and value driven. It forms categories by internal criteria and by constraints acting at many scales, not by means of a syntactically constructed program. The world with which the brain interacts is not unequivocally made up of classical categories.”
—Gerald M. Edelman (b. 1928)
“A good scientist is a person with original ideas. A good engineer is a person who makes a design that works with as few original ideas as possible. There are no prima donnas in engineering.”
—Freeman Dyson (b. 1923)