
Hi, For a 3D programmers using vectors and matrices is as common as using integers. Actually, it's probably even more common! For this reason, every 3D programmer relies on a math library but as they usually don't need much … they implement their own basic math library and that fine. However, most of the time a single graphics software could uses several math libraries because it uses several external libraries that each of them use there own math library. It involves: - A lot of unnecessary copy and conversion of data. - Different meanings for overloaded operators. - Unspecified conventions: row major matrix, column major matrix, left or right handed? - Use of poor math libraries. - Several libraries to understand, to learn: a waste of time for trivial and common need! GPU programmers get some really convenient languages to do graphics on GPU. Cg: http://developer.download.nvidia.com/cg/Cg_2.0/2.1.0012/Cg-2.1_October2008_L... HLSL: http://msdn.microsoft.com/en-us/library/bb509561(VS.85).aspx<http://msdn.microsoft.com/en-us/library/bb509561%28VS.85%29.aspx> GLSL: http://www.opengl.org/registry/doc/GLSLangSpec.Full.1.30.08.withchanges.pdf These languages are the result of a lot of experimented developers in 3D graphics and are basically the same. I decided to build a C++ math library based on all the rules that those developers agreed to be good rules and it result in GLM: http://glm.g-truc.net. However, those GPU languages provide good features but limited features: No quaternion, no transformation, lot of limitation on types and rules that couldn't apply directly in C++ (swizzle operators). GLM has limitations because it results of too few developers to think about it. I would like to get more feedback and makes it even more useful. I would lie to making it better find more agreement so that one day it could be ready to be integrated to Boost and hopefully to C++ standard. I'm afraid that such kind of library already have been submitted and rejected, I know it need more work but I believe on my approach and I'm not afraid to change the library so that everyone agree it's good. Thanks, Christophe Riccio