Tcl3D Logo
Overview
Currently selected Documentation
Demos
Downloads
History
Contact
Valid XHTML 1.0 Transitional

Documentation

A detailled documentation is available in the Tcl3D User Manual (PDF).

Additional information and discussions can be found on the following Tcl'ers Wiki pages:
Tcl3D
Tcl3D Discussion
Tcl3D Demo of the Month

Two articles about Tcl3D appeared in the July (07/06) and October (10/06) editions of the German Linux Magazin.

The Tcl3D package currently consists of the following modules:
tcl3dTogl Enhanced Togl widget, a Tk widget for displaying OpenGL content.
tcl3dUtil Tcl3D utility library (math functions, shapes, stop watch, et al).
tcl3dOgl Wrapper for basic OpenGL functionality (GL Version 1.1, GLU Version 1.2).
tcl3dOglExt Wrapper for enhanced OpenGL functionality (GL Version 1.2 through 2.0) and OpenGL extensions.
tcl3dCg Wrapper for NVidia's Cg shading language.
tcl3dSDL Wrapper for the Simple DirectMedia Library.
tcl3dFTGL Wrapper for the OpenGL Font Rendering Library.
tcl3dGl2ps Wrapper for the OpenGL To Postscript library.
tcl3dOde Wrapper for the Open Dynamics Engine.
tcl3dGauges A Tcl3D package for displaying gauges.
tcl3dDemoUtil C/C++ based utility functions for some of the demo applications.

Module tcl3dTogl

This module is an enhanced version of the Togl widget, a Tk canvas for displaying OpenGL graphics.

The following enhancements are currently implemented:
  • Callback functions in Tcl.
  • Better bitmap font support.
  • Multisampling support.
  • Swap Interval support.

Requirements for this module: None, all files are contained in the Tcl3D distribution.

The original Togl widget is copyrighted by Brian Paul and Benjamin Bederson.
The modified Tcl3D version is copyrighted by Paul Obermeier and distributed under the BSD license.

Top of page

Module tcl3dUtil

This module implements C/C++ and Tcl utilities offering functionality needed for 3D programs. It currently contains the following modules:
  • 3D vector and transformation matrix module.
  • Information module.
  • Color names module.
  • Large data module (tcl3dVector).
  • Image utility module.
  • Screen capture module.
  • Timing module.
  • 3D-model and shapes module.
  • Virtual trackball module.

Requirements for this module: None, all files are contained in the Tcl3D distribution.

The Tcl3D utility library files (see below for exceptions) are copyrighted by Paul Obermeier and distributed under the BSD license.
The following files of this module have differing copyrights:
  • tcl3dModelFmtObj.c and tcl3dModelFmtObj.h are copyrighted by Nate Robins.
  • tcl3dSpheres is copyrighted by Paul Bourke.
Top of page

Module tcl3dOgl

This module wraps OpenGL functionality based on OpenGL Version 1.1, as well as the GLU library functions based on Version 1.2.

This is due to the fact, that Windows still does not support newer versions of OpenGL. OpenGL features defined in newer versions have to be accessed via the OpenGL extension mechanism on Windows.

Standard shapes (box, sphere, cylinder, teapot, ...) with a GLUT compatible syntax are supplied here, too.

Requirements for this module: An OpenGL 1.1 compatible library. OpenGL header files are contained in the Tcl3D distribution.

The Tcl3D wrapper library for basic OpenGL is copyrighted by Paul Obermeier and distributed under the BSD license.
The following files of this module have differing copyrights:
  • glutShapes.c and glutTeapot.c are copyrighted by Mark Kilgard.
Top of page

Module tcl3dOglExt

This module wraps OpenGL functionality based on versions 1.2 till 2.0, lots of OpenGL extensions not contained in the OpenGL core, as well as Windows specific extensions.

The files of this logical building block are contained in the same directory as the basic OpenGL wrapper files for practial compilation reasons.

This is an optional module.

Requirements for this module: An OpenGL compatible library. OpenGL header files are contained in the Tcl3D distribution. To have access to all wrapped features, the OpenGL library should support Version 2.0.

The Tcl3D wrapper library for extended OpenGL is copyrighted by Paul Obermeier and distributed under the BSD license.

Top of page

Module tcl3dCg

This module wraps NVidia's Cg shader library based on version 1.5.0015 and adds some Cg related utility procedures.

This is an optional module.

Requirements for this module: The Cg library and header files.

The Tcl3D wrapper library for Cg is copyrighted by Paul Obermeier and distributed under the BSD license.

Top of page

Module tcl3dSDL

This module wraps the SDL library based on version 1.2.9 and adds some SDL related utility procedures.

Currently only the functions related to joystick and CD-ROM handling have been used and tested.

This is an optional module.

Requirements for this module: The SDL library and header files.

The Tcl3D wrapper library for SDL is copyrighted by Paul Obermeier and distributed under the BSD license.

Top of page

Module tcl3dFTGL

This module wraps the FTGL library based on version 2.1.2 and adds some FTGL related utility procedures.

The following font types are available:
  • Bitmap font (2D)
  • Pixmap font (2D)
  • Outline font
  • Polygon font
  • Texture font
  • Extruded font

This is an optional module.

Requirements for this module: The FTGL and Freetype2 library and header files.

The Tcl3D wrapper library for FTGL is copyrighted by Paul Obermeier and distributed under the BSD license.

Top of page

Module tcl3dGl2ps

This module wraps the GL2PS library based on version 1.3.2 and adds some GL2PS related utility procedures.

GL2PS is a C library providing high quality vector output (PostScript, PDF, SVG) for any OpenGL application. It does not support textures.

This is an optional module.

Requirements for this module: None, all files are contained in the Tcl3D distribution.

The Tcl3D wrapper library for GL2PS is copyrighted by Paul Obermeier and distributed under the BSD license.

Top of page

Module tcl3dOde

This module wraps the OpenSource physics engine ODE based on version 0.7 and adds some ODE related utility procedures.

This is an optional module.

Requirements for this module: The ODE library and header files.

The Tcl3D wrapper library for ODE is copyrighted by Paul Obermeier and distributed under the BSD license.

Top of page

Module tcl3dGauges

This package implements the following gauges: airspeed, altimeter, compass, tiltmeter.

This is an optional module.

Requirements for this module: None, all files are contained in the Tcl3D distribution.

The Tcl3D gauge library is copyrighted by Victor G. Bonilla and distributed under the BSD license.

Top of page

Module tcl3dDemoUtil

This package implements some C/C++ modules needed by some of the demo applications for speed issues or laziness of the Tcl3D demo converter ;-).

This is an optional module.

Requirements for this module: None, all files are contained in the Tcl3D distribution.

See the source files for license issues.

Top of page