glm/doc/pages.doxy

56 lines
2.9 KiB
Plaintext
Raw Normal View History

2011-02-07 12:31:35 +00:00
/*!
2011-12-12 11:49:54 +00:00
@mainpage OpenGL Mathematics
2011-02-05 00:52:58 +00:00
2011-12-12 12:36:58 +00:00
OpenGL Mathematics (GLM) is a header only C++ mathematics library for graphics software based on the OpenGL Shading Language (GLSL) specification.
2011-02-07 12:31:35 +00:00
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.
2011-12-12 12:36:58 +00:00
This project isn't limited to GLSL features. An extension system, based on the GLSL extension conventions, provides extended capabilities: matrix transformations, quaternions, half-based types, random numbers, procedural noise functions, etc...
2011-02-07 12:31:35 +00:00
2011-12-12 12:36:58 +00:00
This library works perfectly with OpenGL but it also ensures interoperability with third party libraries and SDKs.
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.
2011-02-07 12:31:35 +00:00
2011-12-12 11:58:28 +00:00
GLM is written in C++98 but can take advantage of C++11 when supported by the compiler. It is a platform independent library with no dependence and officially supports the following compilers:
2011-12-12 12:36:58 +00:00
- Clang 2.6 and higher
2011-10-25 12:00:07 +00:00
- CUDA 3.0 and higher
- GCC 3.4 and higher
2012-11-13 16:54:11 +00:00
- Intel C++ Composer XE 2013 and higher
2011-10-25 12:00:07 +00:00
- LLVM 2.3 through GCC 4.2 front-end and higher
- Visual Studio 2005 and higher
2011-12-12 11:58:28 +00:00
- Any conform C++98 or C++11 compiler
2011-02-10 16:48:39 +00:00
2011-12-12 11:49:54 +00:00
@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.
2011-02-10 16:48:39 +00:00
Please ignore this; All publicly available types and functions can be accessed as a direct children
of the glm namespace.
2011-02-07 12:31:35 +00:00
The source code is licenced under the <a href="http://www.opensource.org/licenses/mit-license.php">MIT licence</a>.
2011-12-12 12:36:58 +00:00
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>.
2011-02-07 12:31:35 +00:00
2012-11-13 16:54:11 +00:00
Thanks for contributing to the project by <a href="https://github.com/g-truc/glm/issues">submitting tickets for bug reports and feature requests</a>.
(SF.net account required). Any feedback is welcome at glm@g-truc.net.
2011-02-05 00:52:58 +00:00
**/
2011-10-24 16:11:09 +00:00
/*!
2011-12-12 11:49:54 +00:00
@page pg_differences Differences between GLSL and GLM core
2011-10-24 16:11:09 +00:00
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
2011-12-12 11:49:54 +00:00
be found in @ref core_precision "their own section".
2011-10-24 16:11:09 +00:00
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>
**/