You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and dots ('.'), can be up to 35 characters long. Letters must be lowercase.
52 lines
2.7 KiB
52 lines
2.7 KiB
/*! |
|
\mainpage OpenGL Mathematics |
|
|
|
OpenGL Mathematics (GLM) is a C++ mathematics library for graphics software based on the OpenGL Shading Language (GLSL) specification. |
|
|
|
GLM provides classes and functions designed and implemented with the same naming conventions and functionalities than GLSL so that when a programmer knows GLSL, he knows GLM as well which makes it really easy to use. |
|
|
|
This project isn't limited by GLSL features. An extension system, based on the GLSL extension conventions, provides extended capabilities: matrix transformations, quaternions, half-based types, random numbers, etc... |
|
|
|
This library works perfectly with OpenGL but it also ensures interoperability with other third party libraries and SDK. It is a good candidate for software rendering (Raytracing / Rasterisation), image processing, physic simulations and any context that requires a simple and convenient mathematics library. |
|
|
|
GLM is written as a platform independent library with no dependence and officially supports the following compilers: |
|
- Clang 2.0 and higher |
|
- CUDA 3.0 and higher |
|
- GCC 3.4 and higher |
|
- LLVM 2.3 through GCC 4.2 front-end and higher |
|
- Visual Studio 2005 and higher |
|
|
|
\note The Doxygen-generated documentation will often state that a type or function |
|
is defined in a namespace that is a child of the \link glm glm \endlink namespace. |
|
Please ignore this; All publicly available types and functions can be accessed as a direct children |
|
of the glm namespace. |
|
|
|
The source code is licenced under the <a href="http://www.opensource.org/licenses/mit-license.php">MIT licence</a>. |
|
|
|
Thanks for contributing to the project by <a href="https://sourceforge.net/apps/trac/ogl-math/newticket">submitting tickets for bug reports and feature requests</a>. |
|
(SF.net account required). Any feedback is welcome at glm@g-truc.net. |
|
|
|
These pages are the API reference only. For more information about how to use GLM, please have a look at <a href="http://glm.g-truc.net/glm.pdf">the manual</a>. |
|
**/ |
|
|
|
/*! |
|
\page pg_differences Differences between GLSL and GLM core |
|
|
|
GLM comes very close to replicating GLSL, but it is not exact. Here is a list of |
|
differences between GLM and GLSL: |
|
|
|
<ul> |
|
<li> |
|
Precision qualifiers. In GLSL numeric types can have qualifiers that define |
|
the precision of that type. While OpenGL's GLSL ignores these qualifiers, OpenGL |
|
ES's version of GLSL uses them. |
|
|
|
C++ has no language equivalent to precision qualifiers. Instead, GLM provides |
|
a set of typedefs for each kind of precision qualifier and type. These types can |
|
be found in \ref core_precision "their own section". |
|
|
|
Functions that take types tend to be templated on those types, so they can |
|
take these qualified types just as well as the regular ones. |
|
</li> |
|
</ul> |
|
**/
|
|
|