Welcome to the official site for Geometric Tools, a collection 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, covered by the Boost License. The schedule for releases and related information is listed below.

If you use Linux and OpenGL, you need OpenGL 4.5 or later. I use the
NVIDIA proprietary drivers rather than the Nouveau Open Source drivers in order
to satisfy this constraint. Any attempt to run the sample applications without
the specified version will fail gracefully with the console-window output:
*OpenGL 4.5 is required*.

Support for the Macintosh was dropped some time ago because I do not have time to write an Objective C and/or Swift wrapper around the C++ code. I also do not have time to write an application layer for sample applications provided in the distributions. Finally, my Mac Mini was from 2011. Apple does not provide OS X updates for it. The new Macintosh hardware is quite expensive and my budget does not currently allow for it.

**Geometric Tools Engine 4.5**. The mathematics code is in a header-only
library (GTMathematics). A mathematics library with GPU-based implementations is
provided (GTMathematicsGPU). The CPU-based common graphics engine code is in its
own library (GTGraphics). DirectX 11 wrappers are provided for graphics
(GTGraphicsDX11) and applications (GTApplicationsDX11). OpenGL 4.5 wrappers are
provided for graphics (GTGraphicsGL45) and applications (GTApplicationsGL45).

• | Released on January 12, 2020. |

• | Microsoft Windows 10; DirectX 11.1 or OpenGL 4.5; Microsoft Visual Studio 2015, 2017 and 2019; Intel C++ Compiler 17, 18 and 19 |

• | Ubuntu 18.04; OpenGL 4.5, NVIDIA graphics drivers; gcc 7.4.0 |

• | Fedora 31; OpenGL 4.5, NVIDIA graphics drivers; gcc 9.2.1 |

**Robust and Error-Free Geometric Computing**. I have written a book on how to
use a mixture of rational and symbolic arithmetic to obtain robust or error-free
results when implementing geometric algorithms. The framework builds on top of the already
existing arbitrary-precision arithmetic that my source code provides. The manuscript
has been submitted for production, and I expect the book to appear in print in the
first half of 2020. The book will be accompanied by the *Geometric Tools Library*.

**Geometric Tools Library 1.0**. The motivation for
Geometric Tools was my graduate studies in medical image
processing; it was then named MAGIC Software (*M*y *A*lternate *G*raphics
and *I*mage *C*ode). When I entered the 3D video game industry,
I spent less time on image code and more time on graphics, physics and mathematics code.
Much of the code was a result of helping people who posted problems to the Usenet forum
*comp.graphics.algorithms*. Technical support questions over recent years have made
it clear to me that the mathematics and geometry code is what people use the most,
so I will focus on those topics now.

The Geometric Tools Library (GTL) will be a reworking of the mathematics and geometry
code in GTEngine followed by adding new code as time permits. I am attempting to
streamline the code, to provide consistent naming and interfaces, and to extend the
capabilities. Some of the GTEngine geometry code already contains multithreading,
especially useful when the numeric type involves rational arithmetic
and arbitrary-precision arithmetic, and I plan to include multithreading in more
algorithms. Separate code will be available for GPGPU-based implementations using
HLSL, GLSL and CUDA and for SIMD-based implementations using Intel's SSE or AVX.
I will be adding a framework for a mixture of rational and symbolic computing, which
is described in my forthcoming book *Robust and Error-Free Geometric Computing*.

The mathematics and geometry code base has associated documentation and a unit-test
suite. Code for graphics and applications exists only for samples that
illustrate the GTL algorithms. These will be contained in separate libraries
that are provided as-is without unit-test support. The GTL
source code will be freely downloadable and subject to the Boost License.

The release is scheduled for the first half of 2020, when the *Robust and
Error-Free Geometric Computing* book ships.

**GitHub Distribution in the Works**. Enough people have asked me to post my code on
GitHub that I have decided to do so. The first distribution will be for the Geometric
Tools Library 1.0. The GTEngine and Wild Magic distributions will be retired at that
time, but the last-version zip files will still be available at our website.

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