Welcome to the official site for the Geometric Tools Engine, a library of source code for computing in the fields of mathematics, graphics, image analysis, and physics. The engine is written in C++ 11 and, as such, has portable access to standard constructs for multithreading programming on cores. The engine also supports high-performance computing using general purpose GPU programming (GPGPU). SIMD code is also available using Intel Streaming SIMD Extensions (SSE). Portions of the code are described in various books as well as in documents available at this site. The source code is freely downloadable.

The current version of the library is Geometric Tools Engine (GTEngine) 1.12, posted on April 20, 2015. The source code is covered by the Boost License. Version 1.0 of the library was developed on Microsoft Windows 8.1 using Microsoft Visual Studio 2013 and Direct3D 11.1. The C++ 11 constructs we use are not supported by previous versions of Microsoft Visual Studio.

The PDF documents at our site are copyrighted but not subject to the liberal terms of the Boost License. You may download them for your personal use and you may set hyperlinks to them; however, the documents may not be posted online by anyone other than us. These are living documents that are updated over time. Unauthorized copies posted to the Internet run the risk of not being updated by the poster when we update ours.


The Wild Magic 5 distribution was the previous version of our source code. It is not yet fully ported to GTEngine, but you can download it from the downloads page. Once ported, we will remove the old distribution.


Current project: We are implementing an OpenGL graphics engine for GTEngine, using GLSL for shader programs. Like Wild Magic, we will have simple application layers to support OpenGL graphics on Linux and Macintosh OS X. The goal of these layers is to allow you to run our sample applications. You can use GTEngine without its application layers in your own framework. Unlike Wild Magic, on Microsoft Windows you will be able to create Direct3D and OpenGL engines in the same application, and you can choose which one drives the primary window drawing. You can draw with OpenGL and compute with Direct3D, or vice versa. It is possible to attach both types of engines to the same window handle. [Tentative posting date: June/July 2015]


Special thanks to Justin "Satriani" Hunt for the website design and support.