Manifest 3D: A Framework to Develop 3D Graphics Applications
Abstract
The construction of 3D graphics applications is tedious work that consumes much more time than conventional 2D graphics applications, requiring, besides, specific knowledge about 3D geometry operations. To alleviate these problems several object-oriented frameworks for 3D graphics application construction have been proposed in the literature. They attempt to provide a generic architecture for building 3D graphics applications, but, in general, they tighten their designs to specific 3D rendering libraries, or they propose ad-hoc abstractions that do not respond to generic design problems. That is, they are not designed following problem-centered design rules that can encourage a better solution in terms of flexibility and adaptability of the solution. With the goal of minimizing these problems, Manifest3D, a framework to develop 3D graphics applications, was developed. The framework design was thoroughly driven by design patterns. This process brings benefits that impact directly on understanding, reuse, evolution, analysis and documentation management of the framework. As a consequence, it makes the instantiation of applications easier by composition of basic behaviors. In this paper, the main design aspects of Manifest3D are presented, as well as several examples of its instantiation to build 3D graphics visualizations.
References (16)
- Beck, 1994]
- Beck K., Johnson Ralph, Patterns Generate Architectures, European Conference on Object- Oriented Programming, pp. 139-149, Springer Verlag, July 1994.
- Buschmann, 1996] Buschmann F., Meunier R., Rohnert H., Sommerlad P., Stal M., Pattern-Oriented Software Architecture, A System of Patterns, John Wiley & Sons, 1996.
- Campo, 1996] Campo M., Price R., Um Framework Reflexivo para Ferramentas de Visualização de Software, In: Simpósio Brasileiro de Engenharia de Software, 1996. pp. 153-169.
- Deutsch, 1989] Deutsch P., Frameworks and Reuse in the Smalltalk 80 System, Software Reusability, Vol II, Ted Biggerstaff Ed., ACM Press, 1989.
- Egbert, 1992] Egbert Parris., Kubitz William, Application Graphics Modeling Support Through Object Orientation, IEEE Computer, Vol.10, 1992, pp. 84-90.
- Gamma, 1994] Gamma E., Helm R., Johnson R., Vlissides J.,Design Patterns: Micro-Architectures for Reusable Object-Oriented Design, Addison-Wesley, 1994.
- Garlan, 1995] Garlan D., Perry D., Introduction to the Special Issue on Software Architecture, IEEE Transactions on Software Engineering, Vol. 21, NO. 4, April 1995.
- Koved, 1993] Koved Larry, Wooten Wayne, GROOP: An object Oriented toolkit for animated 3D graphics, Proceedings OOPSLA'93, pp-309-325.
- Mackinlay, 1991] Mackinlay J., Robertson G., Card S., The Perspective Wall: Detail and Context Smoothly Integrated, Proc. UIST '91, pp 173-179.
- Maes, 1988]
- Maes P., Meta-Level Architecture and Reflection, Issues in Computational Reflection, 1988, pp. 21-35, Elsevier Science.
- Robertson, 1993] Robertson G., Card S., Mackinlay J., Information Visualization Using 3D Interactive Animation, Communications of the ACM, No. 4, 1993, pp. 57-71.
- Shaw, 1996]
- Shaw M., Garlan D., Software Architecture: Perspectives on an Emerging Discipline. Prentice Hall, 1996.
- Strauss, 1993] Strauss Paul, IRIS Inventor: A 3D Graphics Toolkit, Proceedings OOPSLA '93, pp. 192-200. [Vion, 1994] Vion Dury J., Santana M., Virtual Images: Interactive Visualization of Distributed Object- Oriented Systems, Conference on O.O. Programming, Languages and Applications, ACM, 1994.