Home

Awesome

Essential Math Sample Code

alt text

This depot contains the sample code and example applications referenced in the book Essential Mathematics for Games and Interactive Applications, along with additional supplementary code and files that should be of interest to readers of the book.

The following platforms are supported:

In addition to the demo code, we have included some text that was cut from the main text for length. These consist of two appendices reviewing trigonomety and calculus concepts, and a section of the first chapter covering fixed point numbers and arithmetic in more detail.

Installing The Libraries and Examples

You can clone the depot using

git clone https://github.com/jvanverth/essentialmath.git

Or you can download it directly.

Very little of the depot's contents are platform-specific, so all platforms are included in the same hierarchy.

Please consult the platform-specific README files for any additional platform-specific details regarding:

Supported platforms and their README files are as follows:

Source Directory Structure

The following is a listing of the directories and demos in src/:

/common - the set of libraries used in the book and by the demos

   In addition, after building, the /common directory will include two other directories, whose contents are derived from the libraries above:

/Examples - all of the demo applications referenced by the book text

/glfw - Contains the GLFW library and headers, which handles window creation and event handling for the OpenGL demos. The build systems for the demo applications and Iv libraries on the necessary platforms reference this directory via relative paths when looking for GLFW headers and libraries.

/glew

/Windows

License

Copyright (c) 2015, James M. Van Verth and Lars M. Bishop. All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JAMES M. VAN VERTH OR LARS M. BISHOP BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.