<h1>A 3-D Canvas Widget For Tcl/Tk</h1>

<i>Originally written on 2005-08-15.  Updated 2013-11-12:</i>

The 3-D Canvas Widget provides Tk programs with 3-D graphics
capabilities through the use of OpenGL.  But the 3-D Canvas widget
is not another thin wrapper around the OpenGL interface.  This
widget is a much higher-level abstraction.  Just as the built-in
canvas widget of Tk is a high-level abstraction of the X11 drawing
routines, so too the 3-D Canvas widget is a high-level abstraction
of OpenGL.

The 3dcanvas project is stable and has been in use and relatively
unchanged for several years.  New contributors who want to expand
and enhance 3dcanvas are welcomed. The project is currently maintained
by Sean "The Hypnotoad" Woods. (yoda at etoyoc dot com) 

The current interface can be seen in the [./3dcanvas.html].  The
[./3dcanvas.man] source code to this file is in the source repository.
Source code is available by [http://www.fossil-scm.org/ | fossil].  As follows:

<blockquote><pre>
fossil clone http://3dcanvas.tcl.tk/fossil 3dcanvas.fossil
mkdir 3dcanvas
cd 3dcanvas
fossil open ../3dcanvas.fossil
</pre></blockquote>

Or, if you don't want to mess with installing fossil (fossil is a
self-contained, stand-alone binary and
[http://www.fossil-scm.org/download.html | precompiled fossil binaries]
are available, so installation is trivial) then you can download the
code as a ZIP archive as follows:

  1.  [/login | Login] as user "anonymous".  The password is shown on the
      [/login | login page].  (The reason for requiring login is to prevent
      spiders for downloading every historical version of 3dcanvas.

  2.  Go to the [/timeline | timeline] page and select a version of 3dcanvas
      that you want to download.  Click on its link.

  3.  Find the "ZIP archive" link on the baseline page.  This will cause
      a ZIP archive containing the particular version of 3dcanvas you have
      selected to be built and downloaded.

Build instructions for various environments is here: [Building].

A [/timeline | timeline] of changes
is available online.  There is also a
[/wiki | wiki] devoted to this
widget.  The wiki is currently empty but feel free to change that.
Use the [/tktnew | ticket entry form]
to report bugs or request new features.

Code contributions are welcomed.
Write access to the fossil repository can be arranged by contacting
Sean Woods (yoda at etoyoc dot com).

