Tcl3D Logo
Overview
Currently selected Documentation
Getting started
Modules
Resources
Tcl3D reference
OpenGL
OpenSceneGraph
rtVis explained
Applications
Demos
Downloads
History
Related links
Contact
Valid XHTML 1.0 Transitional

Documentation - Modules

The Tcl3D package currently consists of the following modules:
Tcl3D core module tcl3dOgl
Togl Enhanced Togl widget, a Tk widget for displaying OpenGL content.
OpenGL Wrapper for core OpenGL functionality and OpenGL extensions.
Util Tcl3D utility library: Math functions, standard shapes, stop watch, demo support.
Tcl3D optional modules
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.
tcl3dOsg Wrapper for the OpenSceneGraph library.
tcl3dGauges Tcl3D package for displaying gauges.
Modules Layout
The SWIG wrapper files as well as the C and Tcl utility files of all modules are copyrighted by Paul Obermeier and distributed under the BSD license. See below for exceptions regarding single files and the external libraries.
Top of page

Module tcl3dOgl: Sub-module Togl

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.
  • OpenGL Core and Compatibility profile 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 and distributed under the BSD license. See the Togl homepage for detailled license information.
The modified Tcl3D version of Togl is copyrighted by Paul Obermeier and distributed under the BSD license.

Top of page

Module tcl3dOgl: Sub-module OpenGL

This module wraps OpenGL functionality up to OpenGL Version 4.1, the GLU library functions based on Version 1.2 and most of the available OpenGL extensions.

It is implemented with the help of the GLEW library.

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

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

The GLEW library is distributed under a modified BSD license. See the GLEW Credits & Copyright page for detailled license information.
The original GLUT shape code is copyrighted by Mark Kilgard. It is not in the public domain, but freely distributable. See the GLUT homepage for detailled license information.

Top of page

Module tcl3dOgl: Sub-module Util

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.
  • File utility module.
  • Color names module.
  • Large data module (tcl3dVector).
  • Image utility module.
  • Screen capture module.
  • Timing module.
  • Random number module.
  • 3D-model and shapes module.
  • Virtual track- and arcball module.
  • C/C++ based utility functions for some of the demo applications.

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 the Tcl3D utility library have differing copyrights:

  • The original Wavefront parser code is copyrighted by Nate Robins.
  • The original code of tcl3dSphere is copyrighted by Paul Bourke.
  • The original code of tcl3dHelix is copyrighted by Dario Corno.
  • The original code of tcl3dArcBall is copyrighted by Tatewake.com.
  • The original code of tcl3dTrackball is copyrighted by Gavin Bell et al.
Top of page

Module tcl3dCg

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

This is an optional module.

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

The Cg library is distributed by NVidia under a redistributable license. See the Cg download page for detailled license information.

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 SDL library is distributed under the LGPL license. See the SDL license file for detailled license information.

Top of page

Module tcl3dFTGL

This module wraps the FTGL library based on version 2.1.3 RC5 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 FTGL library is distributed under the LGPL license. See the FTGL homepage for detailled license information.
The Freetype library is distributed under the Freetype license, a BSD style license. See the Freetype license file for detailled license information.

Top of page

Module tcl3dGl2ps

This module wraps the GL2PS library based on version 1.3.5 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 GL2PS library is distributed under the LGPL license. See file COPYING.GL2PS in Tcl3D directory tcl3dGl2ps for detailled license information.

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 ODE library is distributed under the BSD license. See the ODE license file for detailled license information.

Top of page

Module tcl3dOsg

This module wraps the OpenSceneGraph library based on version 2.8.2 and adds some OSG related utility procedures.

This is the first release and still lots of work to do. See the OSG specific documentation page for more information.

This is an optional module.

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

The OpenSceneGraph library is distributed under the OpenSceneGraph license, a LGPL style license. See the OSG license file for detailled license information.

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