/gmtl

Improvements on a svn2git mirror of this math template library

Primary LanguageC++OtherNOASSERTION

GMTL - Generic Math Template Library

What is GMTL?

The Generic Math Template Library (GMTL) is a high-performance, extensible, and generic math library. The design is based upon discussion with many experts in the field of computer graphics and virtual reality, culminating the efforts of many previous math library efforts. GMTL gives the graphics programmer several core math types and a rich library of graphics/math operations on those types.

This repository is a "friendly fork" for maintenance purposes. GMTL is primarily used in VR Juggler and related projects. The maintainers of this fork would recommend an alternate library, such as Eigen, for general-purpose matrix and vector math in new code.

Requirements

Basic requirements are minimal:

  • A C++ compiler with some template support (even Visual Studio 2003 worked at one time).

GMTL itself is header-only, so it needs no building.

Optional dependencies:

  • SCons 2.0: If you want to build tests or the Python binding, until we've replaced the build system with a CMake build system

  • CppUnit: for the tests. At one point a patched version was used from VR Juggler.

Installation

Much like the Standard Template Library, GMTL is completely comprised of header files. Thus there is no compilation step needed to build any libraries. So, in a pinch, just copy the headers.

In order to install GMTL to /usr/local, use the following command. This will install gmtl-config to /usr/local/bin and the associated header files to /usr/local/include.

# cd <GMTL_HOME>
# scons install

If you wish to install GMTL to an alternate location, such as your home directory, use the prefix option.

$ cd <GMTL_HOME>
$ scons install prefix=$HOME

This will install GMTL to the appropriate locations relative to $HOME -- that is, the gmtl-config script will be installed to $HOME/bin and the associated header files to $HOME/include.

Documentation

A FAQ, API reference, and programmer's guide are available on GMTL's web site: http://ggt.sourceforge.net

They may be outdated - some of it was generated using Doxygen so you can re-run that yourself on the code.

License

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

Questions

For issues specific to this friendly fork, please use the GitHub issues system.

Otherwise, please feel free to email comments, questions, suggestions, etc to ggt-devel@lists.sourceforge.net