Welcome to the official site for the Geometric Tools Engine, a library of source code for computing in the fields of graphics, mathematics, physics, and image analysis. The engine supports high-performance computing using general purpose GPU programming (GPGPU). It is written in C++ 11 and has access to the standard constructs for multithreaded programming on cores. SIMD code is also available using Intel Streaming SIMD Extensions (SSE). The distribution is a companion to the book GPGPU Programming for Games and Science but large portions of the code are also described in other books as well as in documents available at this site. The source code is freely downloadable. We also provide contract programming services in the aforementioned areas.
The current version of the library is Geometric Tools Engine 1.10, posted on March 10, 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.
We are planning on publishing a set of books that describes geometric algorithms, discusses the details for writing robust implementations when programming with floating-point arithmetic, and serves as a reference manual for the GTEngine source code. The first three books tentatively are
Our goal is to sell the books at low cost, most likely through Amazon's CreateSpace for paper copies but also available for Amazon's Kindle; however, we have not yet made a final decision on the method of publishing. The source code will remain freely downloadable, but we wish to generate revenue that will help fund the continued evolution of the source code, the writing of more books, and the costs of the website.
The process of developing a new engine takes a long period of time when you have limited resources. Wild Magic was on the order of approximately 400K lines of code, and much of the Geometric Tools Engine is a complete rewrite of portions of Wild Magic. We have focused on consistency of template class design, robustness of implementations, and support for arbitrary precision arithmetic for computational geometry. Not all of Wild Magic has been ported, and some of it will not be ported. We are adding the unit testing and end-to-end testing frameworks, mainly for the mathematics and computational geometry code in order to support regression testing and a fully automated testing environment. Please be patient as we complete this large-scale project. If you encounter problems with the engine, please let us know so that we can fix them in a timely manner--for you and everyone else who uses the code. A lower priority project is an OpenGL 4.3 graphics and computing engine for the Linux and Macintosh OS X platforms. This project will take quite some time because the factoring out of a platform-independent front end, similar to what we did for OpenGL1.5+extensions and Direct3D 9 in Wild Magic, has proven to be much more challenging for OpenGL4.x and Direct3D 11.
Special thanks to Justin "Satriani" Hunt for the website design and support.