Download Manual - Tcl3D
Transcript
1 Introduction Tcl3D: Doing 3D with Tcl 1 Introduction Tcl3D enables the 3D functionality of OpenGL and various other portable 3D libraries at the Tcl scripting level. It’s main design requirement is to wrap existing 3D libraries without modification of their header files and with minimal manual code writing. The Tcl API shall be a direct wrapping of the C/C++ based library API’s, with a “natural” mapping of C types to according Tcl types. This is accomplished mostly with the help of SWIG [24], the Simplified Wrapper and Interface Generator. Tcl3D is based on ideas of Roger E. Critchlow, who formerly created an OpenGL Tcl binding called Frustum [30]. Note: Text in this manual with a light blue background color indicate changes since the last release of this manual. 1.1 Architecture overview The Tcl3D package currently consists of the following building blocks, also called modules throughout the manual: Tcl3D core module tcl3dOgl Togl: Enhanced Togl widget, a Tk widget for displaying OpenGL content. OpenGL: Wrapper for core OpenGL functionality (GL Version 4.1, GLU Version 1.2) and OpenGL extensions. Util: Tcl3D utility library: Math functions, standard shapes, stop watch, demo support. Tcl3D optional modules tcl3dCg tcl3dSDL tcl3dFTGL tcl3dGl2ps tcl3dOde tcl3dOsg Wrapper for NVidia’s Cg shading language. Wrapper for the Simple DirectMedia Library. Wrapper for the OpenGL Font Rendering library. Wrapper for the OpenGL To Postscript library. Wrapper for the Open Dynamics Engine. Wrapper for the OpenSceneGraph library. tcl3dGauges Tcl3D package for displaying gauges. Table 1.1: Overview of Tcl3D modules Each module is implemented as a separate Tcl package and can be loaded explicitely with the Tcl package command, ex. package require tcl3dsdl. All available Tcl3D modules can be loaded with a single command: package require tcl3d. Note • Package names are all lower case. Tcl3D User Manual Version 0.5.0, December 2010 Copyright © 2005-2010 by Paul Obermeier. All rights reserved. Page 2 of 74