2002 FREENIX Track Technical Program - Abstract
Interactive 3D Graphics for Tcl
Oliver Kersting and Jürgen Döllner, Hasso Plattner Institute for Software Systems Engineering, University of Potsdam
Abstract
This paper presents an approach
to integrate interactive real-time 3D graphics into the scripting language Tcl.
3D graphics libraries are typically implemented in system programming languages
such as C or C++ in order to be type safe and fast. We have developed a technique
that analyzes the C++ application programming interface of such a library and
maps it to appropriate scripting commands and structures. As 3D graphics
library, we apply the Virtual Rendering System, an object-oriented library that
supports 3D modeling, interaction, and animation. The mapped API represents a
complete and powerful development tool for interactive, animated 3D graphics
applications. The mapping technique takes advantage of the weak typing and
dynamic features of the scripting language, preserves all usability-critical
features of the C++ API, and has no impact on performance so that even
real-time 3D applications can be developed. The mapping technique can be applied
in general to all kinds of C++ APIs and automated. It also gathers reflection
information of the API classes and supports interactive management of API
objects. Consequently, interactive development environments can be built easily
based on this information. We illustrate the approach by several examples of 3D
graphics applications.
- View the full text of this paper in
HTML,
PDF, and Postscript.
The Proceedings are published as a collective work, © 2002 by the USENIX Association. All Rights Reserved. Rights
to individual papers remain with the author or the author's employer.
Permission is granted for the noncommercial reproduction of the complete
work for educational or research purposes. USENIX acknowledges all
trademarks within this paper.
- If you need the latest Adobe Acrobat Reader, you can download it from Adobe's site.
- To become a USENIX Member, please see our Membership Information.
|