Documentation

User and reference manuals
Presentations
Wiki and other references
OpenGL Information Center
Modules and licenses
User and reference manuals

Top of page

Presentations

Top of page

Wiki and other references

Top of page

OpenGL Information Center

The OpenGL Information Center supplies lots of information an OpenGL developer (both C/C++ and Tcl) needs.

Information about installed OpenGL driver

The GL information category shows general informations about the installed OpenGL and Tcl3D versions.

OglInfo GL Information

Information about OpenGL extensions

The GL extensions category shows the following information about each OpenGL extension:

  • Information about availability on underlying hardware and driver.
  • Information about availability with used GLEW version.

OglInfo GL Extensions

Information about OpenGL core and extension functions

The GL commands category shows the following information about each OpenGL function:

  • Availability on underlying hardware and driver.
  • Corresponding OpenGL version or extension.
  • Deprecated since OpenGL version (0.0 means not deprecated).
  • Signature of function (both in C and tcl).
  • URL of official documentation page.

OglInfo GL Commands

Information about OpenGL core and extension enumerations

The GL enums category shows the following information about each OpenGL enumeration:

  • Decimal value.
  • Hexadecimal value.
  • Corresponding OpenGL version or extension.

OglInfo GL Enums

Information about OpenGL versions and extensions

The Version infos tab shows the following information about each OpenGL version or extension:

  • List of corresponding functions.
  • List of corresponding enumerations.

OglInfo GL Version Info

File check.

The Check File tab allows to load OpenGL source files (C or Tcl) into a text widget.

The following information about the file is provided:

  • List of used OpenGL functions.
  • List of used OpenGL enumerations.

OglInfo GL File Check

History

All visited tables are held in a history for easy re-access.

OglInfo History

Export functionality.

All tables can be exported as CSV files for further inspection with a spreadsheet program.

OglInfo Export

Top of page

Modules and licenses

Modules overview

The Tcl3D package currently consists of the following modules:

Distribution Module Sub-Module Description
Tcl3D-Basic tcl3dOgl Togl Enhanced Togl widget, a Tk widget for displaying OpenGL content.
Tcl3D-Basic tcl3dOgl OpenGL Wrapper for core OpenGL functionality and OpenGL extensions.
Tcl3D-Basic tcl3dOgl Util Tcl3D utility library: Math functions, standard shapes, stop watch, demo support.
Tcl3D-Basic tcl3dGauges Pure Tcl package for displaying gauges.
Tcl3D-Basic tcl3dGl2ps Wrapper for the OpenGL To Postscript library.
Tcl3D-Full tcl3dFTGL Wrapper for the OpenGL Font Rendering Library.
Tcl3D-Full tcl3dOsg Wrapper for the OpenSceneGraph library.
Tcl3D-Full tcl3dSDL Wrapper for the Simple DirectMedia Library.

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.

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.6, 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 Copyright and Licensing 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 tcl3dGauges

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

This is an optional module and contained in the Tcl3D-Basic distribution.

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 tcl3dGl2ps

This module wraps the GL2PS library 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 and contained in the Tcl3D-Basic distribution.

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 tcl3dFTGL

This module wraps the FTGL library 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 and contained in the Tcl3D-Full distribution.

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 tcl3dOsg

This module wraps the OpenSceneGraph library and adds some OSG related utility procedures.

This is an optional module and contained in the Tcl3D-Full distribution.

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 tcl3dSDL

This module wraps the SDL library and adds some SDL related utility procedures.

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

This is an optional module and contained in the Tcl3D-Full distribution.

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