From 2dd7de37c5b0be1ba35c7b7d2ff1e1de8d9187e6 Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Mon, 21 Jun 2010 00:17:28 +0100 Subject: [PATCH] Updated documentation --- doc/about.html | 12 +++ doc/code.html | 178 ++++++++++++++++++++++++++++++++++++++++ doc/download.html | 100 +++++++++++++++++++++++ doc/goodies.html | 4 + doc/index.html | 202 ++++++++++++++++++++++++++++++++++++++++++++++ doc/src/data.xml | 17 +++- glm/setup.hpp | 2 +- readme.txt | 5 ++ 8 files changed, 516 insertions(+), 4 deletions(-) create mode 100644 doc/about.html create mode 100644 doc/code.html create mode 100644 doc/download.html create mode 100644 doc/goodies.html create mode 100644 doc/index.html diff --git a/doc/about.html b/doc/about.html new file mode 100644 index 00000000..18062139 --- /dev/null +++ b/doc/about.html @@ -0,0 +1,12 @@ + + +OpenGL Mathematics : About
OpenGL Mathematics
GLSL + Optional features = OpenGL Mathematics (GLM).
A C++ mathematics library for 3D graphics.


+ OpenGL Mathematics (GLM) is a C++ mathematics library for 3D software based on the OpenGL Shading Language (GLSL) specification. +

+ The goal of the project is to provide to 3D programmers math classes and functions that miss in C++ when we use to program with GLSL or any high level GPU language. With GLM, the idea is to have a library that works the same way that GLSL which imply a strict following of GLSL specification for the implementation. +

+ However, this project isn't limited by GLSL features. An extension system allows to extend GLSL capabilities. It allows GLM to be a great subtitute for some OpenGL 3 deprecated functions, to work following a clean programmable approach. +

+ GLM is release under MIT license and available for all version of GCC from version 3.4 and Visual Studio from version 8.0 as a platform independent library. +

_________________

_________________

Copyright © 2005 - 2010 G-Truc Creation
\ No newline at end of file diff --git a/doc/code.html b/doc/code.html new file mode 100644 index 00000000..6bda7227 --- /dev/null +++ b/doc/code.html @@ -0,0 +1,178 @@ + + +OpenGL Mathematics: Code
OpenGL Mathematics
GLSL + Optional features = OpenGL Mathematics (GLM).
A C++ mathematics library for 3D graphics.


Compute a triangle normal:
  • #include <glm/glm.hpp>
  • void computeNormal(triangle & Triangle) +
  • + { +
  • + glm::vec3 const & a = Triangle.Position[0]; +
  • + glm::vec3 const & b = Triangle.Position[1]; +
  • + glm::vec3 const & c = Triangle.Position[2]; +
  • + Triangle.Normal = glm::normalize(glm::cross(c - a, b - a)); +
  • + } +
Matrix transform:
  • // glm::vec3, glm::vec4, glm::ivec4, glm::mat4
  • #include <glm/glm.hpp>
  • // glm::perspective
  • #include <glm/gtc/matrix_projection.hpp>
  • // glm::translate, glm::rotate, glm::scale
  • #include <glm/gtc/matrix_transform.hpp>
  • // glm::value_ptr
  • #include <glm/gtc/type_ptr.hpp>
  • + { +
  • + glm::mat4 Projection = +
  • + glm::perspective(45.0f, 4.0f / 3.0f, 0.1f, 100.f); +
  • + glm::mat4 ViewTranslate = glm::translate( +
  • + glm::mat4(1.0f), +
  • + glm::vec3(0.0f, 0.0f, -Translate)); +
  • + glm::mat4 ViewRotateX = glm::rotate( +
  • + ViewTranslate, +
  • + Rotate.y, glm::vec3(-1.0f, 0.0f, 0.0f)); +
  • + glm::mat4 View = glm::rotate( +
  • + ViewRotateX, +
  • + Rotate.x, glm::vec3(0.0f, 1.0f, 0.0f)); +
  • + glm::mat4 Model = glm::scale( +
  • + glm::mat4(1.0f), +
  • + glm::vec3(0.5f)); +
  • + glm::mat4 MVP = Projection * View * Model; +
  • + glUniformMatrix4fv( +
  • + LocationMVP, 1, GL_FALSE, glm::value_ptr(MVP)); +
  • + } +
Vector types:
  • #include <glm/glm.hpp>
  • #include <glm/gtx/type_precision.hpp>
  • + std::size_t const VertexCount = 4; +
  • // Float quad geometry
  • + std::size_t const PositionSizeF32 = VertexCount * sizeof(glm::vec2); +
  • + glm::vec2 const PositionDataF32[VertexCount] = +
  • + { +
  • + glm::vec2(-1.0f,-1.0f), +
  • + glm::vec2( 1.0f,-1.0f), +
  • + glm::vec2( 1.0f, 1.0f), +
  • + glm::vec2(-1.0f, 1.0f) +
  • + }; +
  • // Half-float quad geometry
  • + std::size_t const PositionSizeF16 = VertexCount * sizeof(glm::hvec2); +
  • + glm::hvec2 const PositionDataF16[VertexCount] = +
  • + { +
  • + glm::hvec2(-1.0f, -1.0f), +
  • + glm::hvec2( 1.0f, -1.0f), +
  • + glm::hvec2( 1.0f, 1.0f), +
  • + glm::hvec2(-1.0f, 1.0f) +
  • + }; +
  • // 8 bits signed integer quad geometry
  • + std::size_t const PositionSizeI8 = VertexCount * sizeof(glm::i8vec2); +
  • + glm::i8vec2 const PositionDataI8[VertexCount] = +
  • + { +
  • + glm::i8vec2(-1,-1), +
  • + glm::i8vec2( 1,-1), +
  • + glm::i8vec2( 1, 1), +
  • + glm::i8vec2(-1, 1) +
  • + }; +
  • // 32 bits signed integer quad geometry
  • + std::size_t const PositionSizeI32 = VertexCount * sizeof(glm::i32vec2); +
  • + glm::i32vec2 const PositionDataI32[VertexCount] = +
  • + { +
  • + glm::i32vec2 (-1,-1), +
  • + glm::i32vec2 ( 1,-1), +
  • + glm::i32vec2 ( 1, 1), +
  • + glm::i32vec2 (-1, 1) +
  • + }; +
Lighting:
  • #include <glm/glm.hpp>
  • #include <glm/gtx/random.hpp>
  • + glm::vec3 lighting +
  • + ( +
  • + intersection const & Intersection, +
  • + material const & Material, +
  • + light const & Light, +
  • + glm::vec3 const & View +
  • + ) +
  • + { +
  • + glm::vec3 Color = glm::vec3(0.0f); +
  • + glm::vec3 LightVertor = glm::normalize( +
  • + Light.position() - Intersection.globalPosition() + +
  • + glm::vecRand3(0.0f, Light.inaccuracy()); +
  • if(!shadow( +
  • + Intersection.globalPosition(), +
  • + Light.position(), +
  • + LightVertor)) +
  • + { +
  • float Diffuse = glm::dot(Intersection.normal(), LightVector); +
  • if(Diffuse <= 0.0f) +
  • return Color; +
  • if(Material.isDiffuse()) +
  • + Color += Light.color() * Material.diffuse() * Diffuse; +
  • if(Material.isSpecular()) +
  • + { +
  • + glm::vec3 Reflect = glm::reflect( +
  • + glm::normalize(-LightVector), +
  • + glm::normalize(Intersection.normal())); +
  • float Dot = glm::dot(Reflect, View); +
  • float Base = Dot > 0.0f ? Dot : 0.0f; +
  • float Specular = glm::pow(Base, Material.exponent()); +
  • + Color += Material.specular() * Specular; +
  • + } +
  • + } +
Copyright © 2005 - 2010 G-Truc Creation
\ No newline at end of file diff --git a/doc/download.html b/doc/download.html new file mode 100644 index 00000000..940212f4 --- /dev/null +++ b/doc/download.html @@ -0,0 +1,100 @@ + + +OpenGL Mathematics : Downloads
OpenGL Mathematics
GLSL + Optional features = OpenGL Mathematics (GLM).
A C++ mathematics library for 3D graphics.


Current release
21/06/2010: + GLM 0.9.0.1 + (1.1 MB) +
_________________

GLM - zip files
21/06/2010: GLM 0.9.0.1 (1.1 MB) +
25/05/2010: GLM 0.9.0.0 (1.1 MB) +
30/04/2010: GLM 0.9.B.2 (1.1 MB) +
03/04/2010: GLM 0.9.B.1 (964 KB) +
20/02/2010: GLM 0.9.A.2 (1.3 KB) +
09/02/2010: GLM 0.9.A.1 (952 KB) +
25/01/2010: GLM 0.8.4.4 (1.1 MB) +
14/11/2009: GLM 0.8.4.3 (1.1 MB) +
19/10/2009: GLM 0.8.4.2 (1.1 MB) +
03/10/2009: GLM 0.8.4.1 (1.1 MB) +
16/09/2009: GLM 0.8.4.0 (1.1 MB) +
11/08/2009: GLM 0.8.3.5 (971 KB) +
10/08/2009: GLM 0.8.3.4 (971 KB) +
25/06/2009: GLM 0.8.3.3 (971 KB) +
04/06/2009: GLM 0.8.3.2 (971 KB) +
21/05/2009: GLM 0.8.3.1 (945 KB) +
06/05/2009: GLM 0.8.3.0 (896 KB) +
01/04/2009: GLM 0.8.2.3 (961 KB) +
24/02/2009: GLM 0.8.2.2 (961 KB) +
13/02/2009: GLM 0.8.2.1 (963 KB) +
21/01/2009: GLM 0.8.2.0 (963 KB) +
30/10/2008: GLM 0.8.1.0 (938 KB) +
23/10/2008: GLM 0.8.0.0 (936 KB) +
08/08/2008: GLM 0.7.6.0 (907 KB) +
05/07/2008: GLM 0.7.5.0 (852 KB) +
06/01/2008: GLM 0.7.4.0 (859 KB) +
05/24/2008: GLM 0.7.3.0 (1.8 MB) +
04/27/2008: GLM 0.7.2.0 (1.8 MB) +
03/24/2008: GLM 0.7.1.0 (1.8 MB) +
03/22/2008: GLM 0.7.0.0 (1.8 MB) +
12/10/2007: GLM 0.6.4.0 (1.8 MB) +
11/05/2007: GLM 0.6.3.0 (1.8 MB) +
10/08/2007: GLM 0.6.2.0 (1.8 MB) +
10/07/2007: GLM 0.6.1.0 (1.8 MB) +
09/16/2007: GLM 0.6.0.0 (1.8 MB) +
02/19/2007: GLM 0.5.1.0 (2.3 MB) +
01/06/2007: GLM 0.5.0.0 (2.4 MB) +
05/22/2006: GLM 0.4.1.0 (1.6 MB) +
05/17/2006: GLM 0.4.0.0 (905 KB) +
04/22/2006: GLM 0.3.2.0 (955 KB) +
03/28/2006: GLM 0.3.1.0 (963 KB) +
02/19/2006: GLM 0.3.0.0 (945 KB) +
05/05/2005: GLM 0.2.0.0 (194 KB) +
02/21/2005: GLM 0.1.0.0 (29.2 KB) +
_________________

GLM - 7z files
21/06/2010: GLM 0.9.0.1 (527 KB) +
25/05/2010: GLM 0.9.0.0 (526 KB) +
30/04/2010: GLM 0.9.B.2 (555 KB) +
03/04/2010: GLM 0.9.B.1 (414 KB) +
20/02/2010: GLM 0.9.A.2 (726 KB) +
09/02/2010: GLM 0.9.A.1 (391 KB) +
25/01/2010: GLM 0.8.4.4 (479 KB) +
14/11/2009: GLM 0.8.4.3 (443 KB) +
19/10/2009: GLM 0.8.4.2 (443 KB) +
03/10/2009: GLM 0.8.4.1 (443 KB) +
16/09/2009: GLM 0.8.4.0 (439 KB) +
11/08/2009: GLM 0.8.3.5 (405 KB) +
10/08/2009: GLM 0.8.3.4 (405 KB) +
25/06/2009: GLM 0.8.3.3 (405 KB) +
04/06/2009: GLM 0.8.3.2 (405 KB) +
21/05/2009: GLM 0.8.3.1 (399 KB) +
06/05/2009: GLM 0.8.3.0 (359 KB) +
01/04/2009: GLM 0.8.2.3 (378 KB) +
24/02/2009: GLM 0.8.2.2 (378 KB) +
13/02/2009: GLM 0.8.2.1 (381 KB) +
21/01/2009: GLM 0.8.2.0 (381 KB) +
30/10/2008: GLM 0.8.1.0 (372 KB) +
23/10/2008: GLM 0.8.0.0 (370 KB) +
08/08/2008: GLM 0.7.6.0 (387 KB) +
05/07/2008: GLM 0.7.5.0 (366 KB) +
06/01/2008: GLM 0.7.4.0 (372 KB) +
05/24/2008: GLM 0.7.3.0 (657 KB) +
04/27/2008: GLM 0.7.2.0 (646 KB) +
03/24/2008: GLM 0.7.1.0 (635 KB) +
03/22/2008: GLM 0.7.0.0 (635 KB) +
12/10/2007: GLM 0.6.4.0 (612 KB) +
11/05/2007: GLM 0.6.3.0 (633 KB) +
10/08/2007: GLM 0.6.2.0 (645 KB) +
10/07/2007: GLM 0.6.1.0 (645 KB) +
09/16/2007: GLM 0.6.0.0 (646 KB) +
02/19/2007: GLM 0.5.1.0 (807 KB) +
01/06/2007: GLM 0.5.0.0 (862 KB) +
05/22/2006: GLM 0.4.1.0 (533 KB) +
05/17/2006: GLM 0.4.0.0 (262 KB) +
_________________

Raytrace
16-09-2007: Raytrace v1.0 (exe) (766 KB) +
16-09-2007: Raytrace v1.0 (zip) (1.4 MB) +
06-01-2007: Raytrace b3.0 (exe) (751 KB) +
06-01-2007: Raytrace b3.0 (zip) (1.1 MB) +
19-02-2006: Raytrace b2.0 (exe) (1.0 MB) +
19-02-2006: Raytrace b2.0 (zip) (1.4 MB) +
05-05-2005: Raytrace b1.0 (zip) (1.3 MB) +
05-05-2005: Raytrace b1.0 (7z ) (808 KB) +
_________________

Humus's Framework
22-10-2008: AmbientApertureLighting (zip) (2.38 MB) +
_________________

Philip Rideout's Catmull-Clark Subdivision
24-01-2007: CatmullClark (zip) (605 KB) +
_________________

_________________

Copyright © 2005 - 2010 G-Truc Creation
\ No newline at end of file diff --git a/doc/goodies.html b/doc/goodies.html new file mode 100644 index 00000000..d9fe9ad9 --- /dev/null +++ b/doc/goodies.html @@ -0,0 +1,4 @@ + + +OpenGL Mathematics: Goodies
OpenGL Mathematics
GLSL + Optional features = OpenGL Mathematics (GLM).
A C++ mathematics library for 3D graphics.


16/10/2008
GLM Logo

Download: 2560x1600
Download: 1920x1200
Download: 1600x1000
Download: 1280x0800
Download: 1024x0640
_________________

16/10/2008
GLM Font

Download: Font (.otf)
_________________

_________________

Copyright © 2005 - 2010 G-Truc Creation
\ No newline at end of file diff --git a/doc/index.html b/doc/index.html new file mode 100644 index 00000000..dd648312 --- /dev/null +++ b/doc/index.html @@ -0,0 +1,202 @@ + + +OpenGL Mathematics: News
OpenGL Mathematics
GLSL + Optional features = OpenGL Mathematics (GLM).
A C++ mathematics library for 3D graphics.


21/06/2010
GLM 0.9.0.1 released
+ This revision only fixes few extensions bugs. +

Download: GLM 0.9.0.1 (zip, 1.0 MB)
Download: GLM 0.9.0.1 (7z, 536 KB)
Link: Submit a bug report
_________________

25/05/2010
GLM 0.9.0.0 released
+ GLM 0.9.0.0 is finally available! It brings various API changes from GLM 0.8.4.X branch which makes it not backward compatible. + GLM is now compatible with Objective C++ to be used for MacOS X and iPhone projects. +

+ To continue making GLM a better library, 2 mailing lists have been created for users and developers. +

Download: GLM 0.9.0.0 (zip, 1.0 MB)
Download: GLM 0.9.0.0 (7z, 514 KB)
Mailing list: Register to GLM mailing list for users
Mailing list: Register to GLM mailing list for developers
Link: Submit a bug report
_________________

30/04/2010
GLM 0.9 Beta 2 released
+ GLM 0.9 Beta 2 is available and should be the last development release of GLM 0.9. +

+ The code has been moved from a SVN to Git repository which branching efficiency allowed to remove all the experimental code from this release. +

+ Various bug fixes and manual updates have been done too. +

Download: GLM 0.9.B.2 (zip, 1.07 MB)
Download: GLM 0.9.B.2 (7z, 555 KB)
_________________

03/04/2010
GLM 0.9 Beta 1 released
+ A new development version of GLM 0.9 is available. +

+ This version is based on GLSL 4.0 and supports the new common and integer functions. + Also a long and frequently asked feature has been implemented: inplicit conversions. + However, the rules defining implicit conversions by GLSL 4.0 are quite weaked and can't really be apply in C++. +

+ Reaching the beta status, this new features close the feature list of GLM 0.9. + Further development releases may happen before the final release. +

Download: GLM 0.9.B.1 (zip, 964 KB)
Download: GLM 0.9.B.1 (7z, 414 KB)
_________________

20/02/2010
GLM 0.9 Alpha 2 released
+ This update fixes some problem of Alpha 1 but also brings some improvements in case of errors when using GLM to provide more relevant messages. +

Download: GLM 0.9.A.2 (zip, 1.3 MB)
Download: GLM 0.9.A.2 (7z, 726 KB)
_________________

09/02/2010
GLM 0.9 Alpha 1 released
+ First step until a major release for GLM with this first alpha of GLM 0.9. +

+ This version brings a large internal redesign to improve the library reliability and optimized some parts. + It removed the deprecated features and API which implies that GLM 0.9 isn't backward compatible. +

+ For most users the build issues when upgrading to GLM 0.9 should be reduced especially if they follow the deprecation policy. +

+ This release is still UNSTABLE and not recommanded for commertial products. +

Download: GLM 0.9.A.1 (zip, 950 KB)
Download: GLM 0.9.A.1 (7z, 391 KB)
Link: Full changelog
_________________

25/01/2010
GLM 0.8.4.4 released
+ This update just removes some warnings +

+ By the way, if you have questions about GLM, a good place for those is the OpenGL.org Toolkits forum. +

Download: GLM 0.8.4.4 (zip, 1.1 MB)
Download: GLM 0.8.4.4 (7z, 479 KB)
Link: Full changelog
_________________

16/11/2009
GLM 0.8.4.3 released
+ This version fixed half scalars and half vectors arithmetics. + This is a really slow practice that should be avoid. + Half floating point value should be use only to store GPU data. + GPUs have native support for half values, not x86 CPUs. +

Download: GLM 0.8.4.3 (zip, 1.1 MB)
Download: GLM 0.8.4.3 (7z, 463 KB)
Link: Full changelog
_________________

19/10/2009
GLM 0.8.4.2 released
+ This version is a really minor updates, fixing single issue with half float types. +

Download: GLM 0.8.4.2 (zip, 1.1 MB)
Download: GLM 0.8.4.2 (7z, 443 KB)
Link: Full changelog
_________________

05/10/2009
GLM 0.8.4.1 released
+ This version fixes few bugs and provides an major update of the manual thanks to Damian Trebilco. +

Download: GLM 0.8.4.1 (zip, 1.1 MB)
Download: GLM 0.8.4.1 (7z, 443 KB)
Link: Full changelog
_________________

16/09/2009
GLM 0.8.4.0 released
+ This new version mainly adds support for Visual Studio 2010 and GCC 4.4. It also provides various code optimization, bug fixes and an extension. +

Download: GLM 0.8.4.0 (zip, 1.1 MB)
Download: GLM 0.8.4.0 (7z, 439 KB)
Link: Full changelog
_________________

11/08/2009
GLM 0.8.3.5 released
+ Fixed extension bugs introduced by core update. +

Download: GLM 0.8.3.5 (zip, 971 KB)
Download: GLM 0.8.3.5 (7z, 405 KB)
Link: Full changelog
_________________

10/08/2009
GLM 0.8.3.4 released
+ Fixed varius bugs. Move determinant fonction to core following GLSL 1.5 specification. +

Download: GLM 0.8.3.4 (zip, 971 KB)
Download: GLM 0.8.3.4 (7z, 405 KB)
Link: Full changelog
_________________

25/06/2009
GLM 0.8.3.3 released
+ Fixed varius bugs. +

Download: GLM 0.8.3.3 (zip, 971 KB)
Download: GLM 0.8.3.3 (7z, 405 KB)
Link: Full changelog
_________________

04/06/2009
GLM 0.8.3.2 released
+ Add GLM_GTC_quaternion and GLM_GTC_type_precision extensions both subset of GLM_GTX_quaternion and GLM_GTX_number_precision +

Download: GLM 0.8.3.2 (zip, 971 KB)
Download: GLM 0.8.3.2 (7z, 405 KB)
Link: Full changelog
_________________

21/05/2009
GLM 0.8.3.1 released
+ The old way to use extensions have been fixed and GLM_GTX_bit extension gets updated with more functions to manipulate bit fields. +

Download: GLM 0.8.3.1 (zip, 954 KB)
Download: GLM 0.8.3.1 (7z, 402 KB)
Link: Full changelog
_________________

06/05/2009
GLM 0.8.3.0 released
+ This version brings to main changed: Stable extensions and a new extension system. +

+ The first stable GLM extensions are: GLM_GTC_double_float and GLM_GTC_half_float for higher and lower vectors and matrices floating point precision. GLM_GTC_matrix_operation provides determinant and inverse matrix calculation. GLM_GTC_matrix_transform allows to build scale, rotate and translate matrices and GLM_GTC_matrix_projection provides varius functions to build projection matrices. Few stable extensions yet but the number is going to grow with the next release! +

+ Both GLM 0.8.2.x extensions use method are deprecated (but still working) and replace by a new one. If you wnat to use GLM_GTC_half_float just include "glm/gtc/half_float.hpp" and it is going to be included in GLM namespace. +

+ Finally, quite some file have been renamed, using "hpp" instead of ".h". Old file have been deprecated but are still available so that GLM 0.8.3.0 is fully compatible with GLM 0.8.2.x. +

Download: GLM 0.8.3.0 (zip, 896 KB)
Download: GLM 0.8.3.0 (7z, 359 KB)
Link: Code samples page
Link: Manual
Link: Full changelog
_________________

01/04/2009
GLM 0.8.2.3 released
_________________

13/02/2009
GLM 0.8.2.1 released
+ A new release is available and inogurate a patch number. The goal of this patch number is to release faster fixes from bug reports. +

Download: GLM 0.8.2.1 (zip, 963 KB)
Download: GLM 0.8.2.1 (7z, 381 KB)
Link: Manual
Link: Full changelog
_________________

21/01/2009
GLM 0.8.2 released
+ This release only fixes bugs. Left sided swizzle operators, quaternion operators, vectors access operators for the main onces. +

Download: GLM 0.8.2 (zip, 963 KB)
Download: GLM 0.8.2 (7z, 381 KB)
Link: Manual
Link: Full changelog
_________________

19/11/2008
GLM current developments
+ Some artifacts have been added to the tracker to give a picture of what you could expect for the next releases. +

+ If you need something else you can add some artifacts to the tracker. Any comment on added entries is welcome. +

+ Furthermore, no more release of GLM 0.7.x will be done. Please upgrade to GLM 0.8.1. +

+ Finally, a pack of programmable oriented OpenGL samples using GLM is under development and planed to be release in December. +

Link: Tracker
_________________

30/10/2008
GLM 0.8.1 released
+ GLM 0.8.1 is released. This new version mainly fixes 64 bit integers with GCC and various bugs. +

Download: GLM 0.8.1 (zip, 938 KB)
Download: GLM 0.8.1 (7z, 372 KB)
Link: GLM 0.8.1 Manual
Link: Full changelog
_________________

23/10/2008
GLM 0.8.0 final released
+ GLM 0.8.0 is released. This new version is now based on GLSL 1.30 specification which provided new functions and precision qualifiers. +

+ Beyond this, lot of changes have been done to make GLM easier to use, easier to develop, more reliable, more conform to C++ ISO98 standard and GLSL specifications. +

+ It involves that GLM 0.8.x is not backward compatible with GLM 0.7.x... However, an application port from GLM 0.7.x to GLM 0.8.x isn't a huge work and actually for some, it won’t be work at all. +

+ On GLM core side, based on GLSL features, vector types can't be automatically cast to pointer anymore for code safety purposes. Vector constructors require a single scalar parameter of the exact number of components. +

+ On GLM extension side, the mechanism to use them has changed. The old [__]***GTX way doesn't exist anymore. Have a look on the manual for more information. +

+ Have a look on the manual and the changelog for more information. Don't forget to send your feedback and enjoy! +

Download: GLM 0.8.0 (zip, 936 KB)
Download: GLM 0.8.0 (7z, 370 KB)
Link: GLM 0.8.0 Manual
Link: Full changelog
Link: Post a comment
_________________

22/10/2008
A Humus demo to feature GLM 0.8.0
+ Ambient aperture lighting Humus demo have been updated to use GLM as math library. +

Download: Updated demo + all sources (zip, 2.38 MB)
Download: Original demo (zip, 1.40 MB)
Link: Post a comment
_________________

18/10/2008
Webside updated
+ As you can see the website get a little update to prepare GLM 0.8.0 final release. +

+ GLM 0.8.0 final should be release during the week. +

_________________

10/10/2008
GLM 0.8.0 beta 3 released
+ This release fixes some bugs and add few features though extensions. The development is now based on CMake to make easier cross platform tests and project management. +

Download: GLM 0.8.0 Beta 3 (zip, 819 KB)
Download: GLM 0.8.0 Beta 3 (7z, 345 KB)
Link: Full changelog
Link: Post a comment
_________________

04/10/2008
GLM 0.8.0 beta 2 released
+ This release mainly improves half float vectors support. By default the low precission vectors are based on float numbers not on half numbers +

+ It also provides new setup options. GLM_USE_ONLY_XYZW to disable multiple names to access to a single vector component. GLM_USE_ANONYMOUS_UNION to allow multiple component names on half vectors with Visual C++. +

+ Various bugs and updates of extensions have been done too. Final release is coming... +

Download: GLM 0.8.0 Beta 2 (zip, 798 KB)
Download: GLM 0.8.0 Beta 2 (7z, 327 KB)
Link: Full changelog
Link: Post a comment
_________________

26/09/2008
GLM 0.8.0 beta 1 released
+ GLM have been updated to support GLSL 1.30. API documentation had significant improvements to make easier finding of GLSL functions and types. +

+ GLM 0.8.x is NOT backward compatible with GLM 0.7.x. Upgrade to GLM 0.8.x could involve build errors for the following cases: A lot of improvements have been made to increase the conformance with GLSL specification. Lot of GLSL 1.30 features were already exposed in extensions that have been deleted. The extension syntaxe based on ARB convension is no long used. +

+ Due to the number of changes GLM 0.8.0 is release as beta first. The final release is schedule for october. +

Download: GLM 0.8.0 Beta 1 (zip, 786 KB)
Download: GLM 0.8.0 Beta 1 (7z, 321 KB)
Link: Full changelog
Link: Post a comment
_________________

08/08/2008
GLM 0.7.6 released
+ GLM 0.7.6 provides a better C++ conformance so that you can build GLM with –pedantic G++ parameter or without Visual Studio extensions. To make GLM more reliable, BOOST_STATIC_ASSERT are used according developer wishes. +

Download: GLM 0.7.6 (zip, 907 KB)
Download: GLM 0.7.6 (7z, 387 KB)
Link: Full changelog
Link: Manual
_________________

05/07/2008
GLM 0.7.5 released
+ GLM 0.7.5 is available and introduces a new build messsage system to get information of GLM build configuration with Visual Studio. This mechanism is documented in section 6 of GLM manual. Also, GLM can be built with GCC pedantic options. +

Download: GLM 0.7.5 (zip, 852 KB)
Download: GLM 0.7.5 (7z, 366 KB)
Link: Full changelog
Link: Manual
_________________

01/06/2008
GLM 0.7.4 released
+ GLM 0.7.4 introduces a new system to manage external dependencies. +

+ It allows developing extension using external dependencies like GLEW, Boost, etc. without making required those dependencies for GLM programmer that doesn't need those external dependent extensions. +

+ The mechanism is described into the updated manual. +

Download: GLM 0.7.4 (zip, 859 KB)
Download: GLM 0.7.4 (7z, 372 KB)
Link: Full changelog
Link: Manual
_________________

24/05/2008
GLM 0.7.3 released
+ GLM 0.7.3 is released. This version fixes few bugs and add few extensions +

Download: GLM 0.7.3 (zip, 1.8 MB)
Download: GLM 0.7.3 (7z, 635 KB)
Link: Full changelog
_________________

27/04/2008
GLM 0.7.2 released
+ GLM 0.7.2 is released. The documentation have been completed again and several issues handle with precompiler options. +

+ #define GLM_SWIZZLE GLM_SWIZZLE_FUNC allows to use swizzle operators with internal functions. For example, glm::vec3(1, 2, 3).zyx is replaced by glm::vec3(1, 2, 3)._zyx() with this option. +

+ #define GLM_FORCE_NO_HALF allows to include all extensions (#include "glm/glmext.h") without any support of half-precision floating-point numbers. +

+ #define GLM_AUTO_CAST GLM_DISABLE allows to disable automatic cast (eg: glLoadMatrixf(glm::mat4(1.0))) which could involve unfortunate issues in some cases. +

+ More information on these topic are available in GLM manual section 5 "Known issues". +

Download: GLM 0.7.2 (zip, 1.8 MB)
Download: GLM 0.7.2 (7z, 635 KB)
Download: Full changelog
_________________

24/03/2008
GLM 0.7.1 released
+ GLM 0.7.1 is available under MIT license. It fixes bugs with GCC. +

Download: GLM 0.7.1 (zip, 1.8 MB)
Download: GLM 0.7.1 (7z, 635 KB)
Download: Full changelog
_________________

22/03/2008
GLM 0.7.0 released
+ GLM 0.7.0 is available under MIT license. LGPL lisence have been discard due to an issue of use for console development. This release contains a lot better documentation based on Doxygen. Lot of bugs have been fixed and the documentation completed. Thanks to all people that has contributed thought bug reports and ideas to make this version a lot better! +

Download: GLM 0.7.0 (zip, 1.8 MB)
Download: GLM 0.7.0 (7z, 635 KB)
Download: Full changelog
_________________

10/12/2007
GLM 0.6.4 released
+ GLM 0.6.4 is available and fixes some swizzle operator issues. +

Download: GLM 0.6.4 (zip, 1.7 MB)
Download: GLM 0.6.4 (7z, 612 KB)
Download: Full changelog
_________________

05/11/2007
GLM 0.6.3 released
+ GLM 0.6.3 fixes accesses of matrices and a 3DSMax SDK conflict. +

Download: GLM 0.6.3 (zip, 1.8 MB)
Download: GLM 0.6.3 (7z, 633 KB)
Download: Full changelog
_________________

08/10/2007
GLM 0.6.2 released
+ GLM 0.6.2 fixes an error on an extension. +

Download: GLM 0.6.2 (zip, 1.8 MB)
Download: GLM 0.6.2 (7z, 632 KB)
Download: Full changelog
_________________

07/10/2007
GLM 0.6.1 released
+ GLM 0.6.1 is a minor update that fix an issue on extension namespace and add two more extensions. +

Download: GLM 0.6.1 (zip, 1.8 MB)
Download: GLM 0.6.1 (7z, 632 KB)
Download: Full changelog
_________________

16/09/2007
GLM 0.6.0 released
+ GLM 0.6.0 is available. For this release, work focus on extensions. A new mecanisum allows to integrate GLM extensions as it is actually done for GLSL extension by vendors. Lot of new extensions have been added. +

Download: GLM 0.6.0 (zip, 1.8 MB)
Download: GLM 0.6.0 (7z, 666 KB)
Download: Raytracer v1.0 (exe)
Download: Raytracer v1.0 (zip)
Download: Full changelog
_________________

19/02/2007
GLM 0.5.1 released
+ This release fixes some issues with swizzle operators. +

Download: GLM 0.5.1 (zip, 2.3 MB)
Download: GLM 0.5.1 (7z, 789 KB)
_________________

26/01/2007
Cattmull Clark subdivision sample
+ A new sample is available. It's an update of Philip Rideout's Catmull Clark subdivision program that uses GLM. Released with pleasant permission of Philip Rideout. +

Download: CatmullClark sample (zip, 605 KB)
_________________

06/01/2007
GLM 0.5.0 released
+ This release include GLSL 1.2 new feature in the core implementation. Also, it includes swizzle read and write operators and a custom options system to setup GLM. +

+ It includes some new extensions to extend GLSL features but they remain experimental. The next release should provide the first stable extensions. +

+ The GLM 0.5.0 packages contain some basic samples and some documentation. The ray tracer sample has been updated to GLM 0.5.0. Except for specific cases, especially with extensions, GLM 0.5 is backward compatible. +

+ Now, GLM development is taking advantages of SourceForge.net services: a bug tracker system and the development source code is publicly available on SF.net SVN server. +

Download: GLM 0.5.0 (zip, 2.4 MB)
Download: GLM 0.5.0 (7z, 843 KB)
Download: Raytracer b3.0 (exe, 751 KB)
Download: Raytracer b3.0 (zip, 1.1 MB)
_________________

22/05/2006
GLM 0.4.1 released
+ A GLM update is available. It simply includes some examples for a sweet start with GLM. +

+ The examples show how to use GLM with OpenGL intermediate mode and OpenGL vertex arrays. Also, they show how to use GLM extensions to replace GLU and OpenGL function witch could slightly increase performances by decreasing the number of OpenGL states changes. +

Download: GLM 0.4.1 (zip, 1.6 MB)
Download: GLM 0.4.1 (7z, 521 KB)
_________________

17/05/2006
GLM 0.4.0 released
+ This release introduces first GLSL 1.2 features as planed. Also, various new extensions have been added and updated. Finally, it's not anymore required to include windows.h before glm.h when windows.h is required. +

+ The number of features of GLM, including extensions, start to really increase the compilation time. That's why it's recommended to use precompiled headers. +

Download: GLM 0.4.0
_________________

23/04/2006
Roadmap for the years
+ Version 0.4 will complete matrices and vectors operators and will add GLSL 1.2 features. First, conversions simplifications will be integrated. Then, 4 per 3 matrices and outer product will be available from extensions. The transpose function is already available from extension. +

+ Version 0.5 will integrate GLSL 1.2 features to GLM core. +

+ Version 0.6 will add swizzle operators in reading and writing. (eg: vec3 v1(1.0, 2.0, 3.0); vec3 v2 = v1.xxx; v1.zyx = v;). +

_________________

22/04/2006
GLM 0.3.2 released
+ This release corrects two main bugs. First, a bug of the imat4 and mat4 division operators and other correct the vectors components access from texture coordinate way. +

Download: GLM 0.3.2
_________________

28/03/2006
GLM 0.3.1 released
+ This update adds GCC 4.0 support for MacOS X and Linux and GCC 4.1 under Linux. Also, its provides some optimisations. +

+ Further release will prodive GLSL 1.2 compliances. +

Download: GLM 0.3.1
_________________

19/02/2006
GLM 0.3 released
+ A new release of GLM is now available. It improves GLSL data type conversion and construction compliance. Also, It's adds extensions like some to manage double-precision and half-precision float numbers. Finally a Doxygen documentation has been added. +

+ This new release have been tested under Visual C++ 7.1, Visual C++ 8.0, GCC 3.2.3 et GCC 3.4.2. +

Download: GLM 0.3
Download: Raytrace
Documentation: Online documentation
_________________

06/05/2005
GLM 0.2 released
+ A new release of GLM is now available. A few bugs have been fixed, the portability of GLSL into C++ has been improved, and new experimental extensions have been implemented, enhancing GLSL features. +

+ Project now supports quaternions, adds new features to handle colors, vectors and matrices. For example, GLM allows base colors changing, vector projected operations, and 2D/3D transforms. +

+ To demo the features of this new version, a sample program is included. It is a simple Ray Tracer supporting reflected and refracted rays, three lights types (point, directionnal and spot), two objects types (sphere, plan), using all of the GLM possibilities. +

_________________

04/05/2005
English pages
+ The english section of this site is now available. +

_________________

21/02/2005
GLM 0.1 is available
+ This is the first public availability of GLM. This library supports part of GLSL specifications : All vectors and matrices types, and all the operators and associated functions. +

+ For now, there isn't detailed documentation, but you can freely have a look on GLSL specifications. Consider any incoherence with GLM as an error. Keep in mind the library is included in the namespace "glm". +

+ This project is multi platform and was successfully tested under Visual C++ 7.1, MinGW 3.4 and GCC 3.4. +

Download: GLM 0.1 User Release
Download: GLM 0.1 Contributor Release
Documentation: GLSL 1.10.59 specifications
_________________

Copyright © 2005 - 2010 G-Truc Creation
\ No newline at end of file diff --git a/doc/src/data.xml b/doc/src/data.xml index 40b8ae31..fd8e9a19 100644 --- a/doc/src/data.xml +++ b/doc/src/data.xml @@ -3,8 +3,8 @@
+ - @@ -49,7 +49,8 @@
- + + @@ -1523,7 +1524,17 @@ - + + + This revision only fixes few extensions bugs. + + + GLM 0.9.0.1 (zip, 1.0 MB) + GLM 0.9.0.1 (7z, 536 KB) + Submit a bug report + + + GLM 0.9.0.0 is finally available! It brings various API changes from GLM 0.8.4.X branch which makes it not backward compatible. GLM is now compatible with Objective C++ to be used for MacOS X and iPhone projects. diff --git a/glm/setup.hpp b/glm/setup.hpp index 95c639c3..9e0bef6d 100644 --- a/glm/setup.hpp +++ b/glm/setup.hpp @@ -17,7 +17,7 @@ #define GLM_VERSION_MAJOR 0 #define GLM_VERSION_MINOR 9 #define GLM_VERSION_PATCH 0 -#define GLM_VERSION_REVISION 0 +#define GLM_VERSION_REVISION 1 /////////////////////////////////////////////////////////////////////////////////////////////////// // Common values diff --git a/readme.txt b/readme.txt index 143a13ae..4003fb7d 100644 --- a/readme.txt +++ b/readme.txt @@ -4,6 +4,11 @@ G-Truc Creation www.g-truc.net glm@g-truc.net +============================= +GLM 0.9.0.1: 2010-06-21 +----------------------------- +- Fixed extensions errors + ============================= GLM 0.9.0.0: 2010-05-25 -----------------------------