As it has been a long time since a major GLM release, I decide to publish this status update to let you know about the current developments.
Few months ago, I reported about some interesting investigations we did with Christoph Schied and Joshua Smith about swizzle operators. Thanks to great ideas, I expected to release this feature as GLM 0.9.1. Unfortunately, even if it worked 95% of the time, we discover multiple issues that prevent the release of this feature. At that point in time, I'm not sure there is any way to correctly emulate the GLSL swizzle operators using the same syntax and we might have to look at C++0x for further investigations.
On other side, Wael El Oraiby is currently working on making GLM a shared library with load of explicit instantiations. The goal of this development is to reduce the build time of projects that use GLM. In any case, it will only remain an option and GLM will remain a headers only library for everyone who prefers to use it this way.
On my side, I decide to extend the test bench of GLM. A lot of the GLM core features already have tests. However, the test bench requires some improvements of its development process and the features coverage need to be extend to all the extensions. Bringing this level of reliability to GLM is for me an essential step before a stable release GLM 1.0.0.0.
Finally, I have continued my design researches to integrate all the SIMD code I have written in GLM. There are still some issues as I want the API to be as simple as possible and I want to provide something flexible enough to let the developers choosing between various optimization and ULP methods across the code for the same operation. To start this integration, I decide to create experimental extensions which will provide explicit SIMD classes and functions.
On a different regard, Patrick Cozzi has forwarded to me a link for a new project called OpenTK Mathematics (TKM) which has been inspired by GLM philosophy. Looks pretty interesting for C# developers!