Released GLM 0.9.3.0

master
Christophe Riccio ago%!(EXTRA string=14 years)
parent 1490f7e6e8
commit 3f83158d83
  1. 30
      doc/common/style.css
  2. BIN
      doc/image/0075-2.jpg
  3. 28
      doc/index.html
  4. 35
      doc/src/data.xml
  5. 30
      doc/src/util.xsl

@ -115,6 +115,36 @@ div.image
text-align:right; text-align:right;
} }
div.post-image-white,
div.post-image-black
{
width:100%;
padding-top:32px;
padding-bottom:32px;
text-align:center;
margin-left:auto;
margin-right:auto;
/*border-radius:0px;*/
}
div.post-image-black
{
background-color:#000000;
}
div.post-image-white
{
background-color:#ffffff;
}
div.post-image-title
{
display:block;
font-style:italic;
text-align:center;
padding-bottom:32px;
}
img.menu-img img.menu-img
{ {
text-align:center; text-align:center;

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

@ -34,13 +34,19 @@
<p> <p>
Thanks for contributing to the project by <a href="https://sourceforge.net/apps/trac/ogl-math/newticket">submitting tickets</a> for bug reports and feature requests. (SF.net account required). Thanks for contributing to the project by <a href="https://sourceforge.net/apps/trac/ogl-math/newticket">submitting tickets</a> for bug reports and feature requests. (SF.net account required).
Any feedback is welcome at glm@g-truc.net. Any feedback is welcome at glm@g-truc.net.
</p><br /><div><h3>08/01/2012 - GLM 0.9.3.0 released</h3><div><p> </p><br /><div><h3>09/01/2012 - GLM 0.9.3.0 released</h3><div><p>
GLM 0.9.3.0 is finally released. Since the branch 0.9.2, the test bench and the Doxygen API documentation has been expend. GLM 0.9.3.0 is finally released. Since the branch 0.9.2, the test bench and the Doxygen API documentation has been expended significantly leading to an even more reliable implementation and hopefully an even smoother development experience.
</p><p /><p> </p><p>
Swizzle operators are a challenging task to implement but thanks to the effort of many contributors, GLM 0.9.3.0 provides finally something interesting even if For the feature set, the GLSL noise functions are added, based on the implementation of <a href="https://github.com/ashima/webgl-noise">webgl-noise</a>.
not perfect but still a great improvement considering the incompatibilities with some external libraries. GLM 0.9.3 provides two implemetanations, one for C++ 98 Some users might prefer the promoted GLM_GTC_noise extension also based on <a href="https://github.com/ashima/webgl-noise">webgl-noise</a> but with a different interface and three noise methods: Perlin noise, periodic noise and simplex noise.
</p><div xmlns="http://www.w3.org/1999/xhtml" class="post-image-white"><a href=""><img src="./image/0075-1.jpg" alt="2D simplex noise with GLM_GTC_noise" /></a></div><div xmlns="http://www.w3.org/1999/xhtml" class="post-image-title">2D simplex noise with GLM_GTC_noise</div><p>
Additionally, the random number generation functions (GLM_GTC_random) which provides various interesting distributions as illustrated below.
Also reaching GLM tool box, the new experimental extension GLM_GTX_constants provides a set of constants.
</p><div xmlns="http://www.w3.org/1999/xhtml" class="post-image-white"><a href=""><img src="./image/0075-2.jpg" alt="Spherical random distribution with GLM_GTC_random" /></a></div><div xmlns="http://www.w3.org/1999/xhtml" class="post-image-title">Spherical random distribution with GLM_GTC_random</div><p>
Finally, swizzle operators are a challenging task to implement but thanks to the effort of many contributors, GLM 0.9.3.0 provides something interesting, but admittably
not perfect. The new implementation is a great improvement considering the incompatibilities with some external libraries in GLM 0.9.2.7. GLM 0.9.3 provides two implemetanations, one for C++ 98
compilers and one for C++ 11 compilers providing an implemetnation closer to what GLSL does. Indeed the C++ 98 implementation is compatible with C++ 11 compilers. compilers and one for C++ 11 compilers providing an implemetnation closer to what GLSL does. Indeed the C++ 98 implementation is compatible with C++ 11 compilers.
</p><img src="" alt="" /><span xmlns="http://www.w3.org/1999/xhtml" class="code-title">Implementation for C++ 98 compilers:</span><ul xmlns="http://www.w3.org/1999/xhtml" class="code-list"><li class="code-line"><span class="code-line-content"><span class="comment">// To declare before including glm.hpp, to use the swizzle operators</span></span></li><li class="code-line"><span class="code-line-content"><span class="keyword">#define </span> GLM_SWIZZLE </p><span xmlns="http://www.w3.org/1999/xhtml" class="code-title">Implementation for C++ 98 compilers:</span><ul xmlns="http://www.w3.org/1999/xhtml" class="code-list"><li class="code-line"><span class="code-line-content"><span class="comment">// To declare before including glm.hpp, to use the swizzle operators</span></span></li><li class="code-line"><span class="code-line-content"><span class="keyword">#define </span> GLM_SWIZZLE
</span></li><li class="code-line"><span class="code-line-content"><span class="keyword">#include </span><span class="string">&lt;glm/glm.hpp&gt;</span></span></li><li class="code-line"><span class="code-line-content" /></li><li class="code-line"><span class="code-line-content"><span class="keyword">void</span> example_cpp98() </span></li><li class="code-line"><span class="code-line-content"><span class="keyword">#include </span><span class="string">&lt;glm/glm.hpp&gt;</span></span></li><li class="code-line"><span class="code-line-content" /></li><li class="code-line"><span class="code-line-content"><span class="keyword">void</span> example_cpp98()
</span></li><li class="code-line"><span class="code-line-content"> </span></li><li class="code-line"><span class="code-line-content">
{ {
@ -49,7 +55,7 @@
</span></li><li class="code-line"><span class="code-line-content" style="padding-left:32px"> </span></li><li class="code-line"><span class="code-line-content" style="padding-left:32px">
glm::vec4 b = glm::vec4(0, 2, 0, 0); glm::vec4 b = glm::vec4(0, 2, 0, 0);
</span></li><li class="code-line"><span class="code-line-content" style="padding-left:32px"> </span></li><li class="code-line"><span class="code-line-content" style="padding-left:32px">
glm::vec3 c = (a.zyx() + b.xyz()) * 0.5f; glm::vec3 c = vec4((a.zyx() + b.xyz()).xyz() * 0.5f, 1.0f);
</span></li><li class="code-line"><span class="code-line-content" style="padding-left:32px"> </span></li><li class="code-line"><span class="code-line-content" style="padding-left:32px">
glm::vec2 d = glm::normalize(glm::vec2(c.yz())); glm::vec2 d = glm::normalize(glm::vec2(c.yz()));
</span></li><li class="code-line"><span class="code-line-content" style="padding-left:32px"> </span></li><li class="code-line"><span class="code-line-content" style="padding-left:32px">
@ -57,7 +63,7 @@
</span></li><li class="code-line"><span class="code-line-content"> </span></li><li class="code-line"><span class="code-line-content">
} }
</span></li></ul><span xmlns="http://www.w3.org/1999/xhtml" class="code-title">Implementation for C++ 11 compilers:</span><ul xmlns="http://www.w3.org/1999/xhtml" class="code-list"><li class="code-line"><span class="code-line-content"><span class="comment">// To declare before including glm.hpp, to use the swizzle operators</span></span></li><li class="code-line"><span class="code-line-content"><span class="keyword">#define </span> GLM_SWIZZLE </span></li></ul><span xmlns="http://www.w3.org/1999/xhtml" class="code-title">Implementation for C++ 11 compilers:</span><ul xmlns="http://www.w3.org/1999/xhtml" class="code-list"><li class="code-line"><span class="code-line-content"><span class="comment">// To declare before including glm.hpp, to use the swizzle operators</span></span></li><li class="code-line"><span class="code-line-content"><span class="keyword">#define </span> GLM_SWIZZLE
</span></li><li class="code-line"><span class="code-line-content"><span class="keyword">#include </span><span class="string">&lt;glm/glm.hpp&gt;</span></span></li><li class="code-line"><span class="code-line-content" /></li><li class="code-line"><span class="code-line-content"><span class="keyword">void</span> example_cpp98() </span></li><li class="code-line"><span class="code-line-content"><span class="keyword">#include </span><span class="string">&lt;glm/glm.hpp&gt;</span></span></li><li class="code-line"><span class="code-line-content" /></li><li class="code-line"><span class="code-line-content"><span class="keyword">void</span> example_cpp11()
</span></li><li class="code-line"><span class="code-line-content"> </span></li><li class="code-line"><span class="code-line-content">
{ {
</span></li><li class="code-line"><span class="code-line-content" style="padding-left:32px"> </span></li><li class="code-line"><span class="code-line-content" style="padding-left:32px">
@ -65,10 +71,10 @@
</span></li><li class="code-line"><span class="code-line-content" style="padding-left:32px"> </span></li><li class="code-line"><span class="code-line-content" style="padding-left:32px">
glm::vec4 b = glm::vec4(0, 2, 0, 0); glm::vec4 b = glm::vec4(0, 2, 0, 0);
</span></li><li class="code-line"><span class="code-line-content" style="padding-left:32px"> </span></li><li class="code-line"><span class="code-line-content" style="padding-left:32px">
glm::vec3 c = (a.zyx() + b.xyz()) * 0.5f; glm::vec4 c = glm::vec4((a.zyx() + b.xyz()).xyz * 0.5f, 1.0f);
</span></li><li class="code-line"><span class="code-line-content" style="padding-left:32px"> </span></li><li class="code-line"><span class="code-line-content" style="padding-left:32px"><span class="comment">// Before being pasted to a function, a swizzle operator needs to be cast into</span></span></li><li class="code-line"><span class="code-line-content" style="padding-left:32px"><span class="comment">// a vector either explicitly or with the operator ()</span></span></li><li class="code-line"><span class="code-line-content" style="padding-left:32px">
glm::vec2 d = glm::normalize(glm::vec2(c.yz)); glm::vec2 d = glm::normalize(glm::vec2(c.yz));
</span></li><li class="code-line"><span class="code-line-content" style="padding-left:32px"> </span></li><li class="code-line"><span class="code-line-content" style="padding-left:32px"><span class="comment">// glm::vec2 d = glm::normalize(c.yz()); // Equivalent code</span></span></li><li class="code-line"><span class="code-line-content" style="padding-left:32px">
a.xyzw = d.xyxy; a.xyzw = d.xyxy;
</span></li><li class="code-line"><span class="code-line-content"> </span></li><li class="code-line"><span class="code-line-content">
} }

@ -3,7 +3,7 @@
<glm copyright="Copyright © 2005 - 2012"> <glm copyright="Copyright © 2005 - 2012">
<downloads> <downloads>
<section name="GLM - zip files"> <section name="GLM - zip files">
<download name="GLM 0.9.3.0" date="09/01/2012" size="4.3 MB" link="https://sourceforge.net/projects/ogl-math/files/glm-0.9.3.0/glm-0.9.3.0.zip/download" /> <download name="GLM 0.9.3.0" date="09/01/2012" size="3.9 MB" link="https://sourceforge.net/projects/ogl-math/files/glm-0.9.3.0/glm-0.9.3.0.zip/download" />
<download name="GLM 0.9.3.B" date="12/12/2011" size="4.3 MB" link="https://sourceforge.net/projects/ogl-math/files/glm-0.9.3.B/glm-0.9.3.B.zip/download"/> <download name="GLM 0.9.3.B" date="12/12/2011" size="4.3 MB" link="https://sourceforge.net/projects/ogl-math/files/glm-0.9.3.B/glm-0.9.3.B.zip/download"/>
<download name="GLM 0.9.3.A" date="11/11/2011" size="4.3 MB" link="https://sourceforge.net/projects/ogl-math/files/glm-0.9.3.A/glm-0.9.3.A.zip/download"/> <download name="GLM 0.9.3.A" date="11/11/2011" size="4.3 MB" link="https://sourceforge.net/projects/ogl-math/files/glm-0.9.3.A/glm-0.9.3.A.zip/download"/>
<download name="GLM 0.9.2.7" date="24/10/2011" size="3.4 MB" link="https://sourceforge.net/projects/ogl-math/files/glm-0.9.2.7/glm-0.9.2.7.zip/download"/> <download name="GLM 0.9.2.7" date="24/10/2011" size="3.4 MB" link="https://sourceforge.net/projects/ogl-math/files/glm-0.9.2.7/glm-0.9.2.7.zip/download"/>
@ -73,7 +73,7 @@
<download name="GLM 0.1.0.0" date="02/21/2005" size="29.2 KB" link="http://prdownloads.sourceforge.net/glf/glm-0.1-ur.zip?download"/> <download name="GLM 0.1.0.0" date="02/21/2005" size="29.2 KB" link="http://prdownloads.sourceforge.net/glf/glm-0.1-ur.zip?download"/>
</section> </section>
<section name="GLM - 7z files"> <section name="GLM - 7z files">
<download name="GLM 0.9.3.0" date="09/01/2012" size="2.8 MB" link="https://sourceforge.net/projects/ogl-math/files/glm-0.9.3.0/glm-0.9.3.0.7z/download"/> <download name="GLM 0.9.3.0" date="09/01/2012" size="2.7 MB" link="https://sourceforge.net/projects/ogl-math/files/glm-0.9.3.0/glm-0.9.3.0.7z/download"/>
<download name="GLM 0.9.3.B" date="12/12/2011" size="2.8 MB" link="https://sourceforge.net/projects/ogl-math/files/glm-0.9.3.B/glm-0.9.3.B.7z/download"/> <download name="GLM 0.9.3.B" date="12/12/2011" size="2.8 MB" link="https://sourceforge.net/projects/ogl-math/files/glm-0.9.3.B/glm-0.9.3.B.7z/download"/>
<download name="GLM 0.9.3.A" date="11/11/2011" size="2.8 MB" link="https://sourceforge.net/projects/ogl-math/files/glm-0.9.3.A/glm-0.9.3.A.7z/download"/> <download name="GLM 0.9.3.A" date="11/11/2011" size="2.8 MB" link="https://sourceforge.net/projects/ogl-math/files/glm-0.9.3.A/glm-0.9.3.A.7z/download"/>
<download name="GLM 0.9.2.7" date="24/10/2011" size="2.1 MB" link="https://sourceforge.net/projects/ogl-math/files/glm-0.9.2.7/glm-0.9.2.7.7z/download"/> <download name="GLM 0.9.2.7" date="24/10/2011" size="2.1 MB" link="https://sourceforge.net/projects/ogl-math/files/glm-0.9.2.7/glm-0.9.2.7.7z/download"/>
@ -175,24 +175,19 @@
GLM 0.9.3.0 is finally released. Since the branch 0.9.2, the test bench and the Doxygen API documentation has been expended significantly leading to an even more reliable implementation and hopefully an even smoother development experience. GLM 0.9.3.0 is finally released. Since the branch 0.9.2, the test bench and the Doxygen API documentation has been expended significantly leading to an even more reliable implementation and hopefully an even smoother development experience.
</paragraph> </paragraph>
<paragraph> <paragraph>
<<<<<<< HEAD For the feature set, the GLSL noise functions are added, based on the implementation of <link href="https://github.com/ashima/webgl-noise">webgl-noise</link>.
From the many improvements, it is worth to acknowledge the addition of the core noise functions as defined by GLSL. The implementation is based on the promoted GLM_GTC_noise features which implement a perlin noise, periodic perlin noise and a simplex noise. The random number generation functions (GLM_GTC_random) which provides various interesting distributions as illustrated below. Reaching GLM tool box, the new experimental extension GLM_GTX_constants provides a set of constant. Some users might prefer the promoted GLM_GTC_noise extension also based on <link href="https://github.com/ashima/webgl-noise">webgl-noise</link> but with a different interface and three noise methods: Perlin noise, periodic noise and simplex noise.
</paragraph> </paragraph>
<image href="./image/0075-1.jpg" /> <image img="./image/0075-1.jpg" title="2D simplex noise with GLM_GTC_noise" color="'white'" />
<paragraph> <paragraph>
Swizzle operators are a challenging task to implement but thanks to the effort of many contributors, GLM 0.9.3.0 provides finally something interesting even if Additionally, the random number generation functions (GLM_GTC_random) which provides various interesting distributions as illustrated below.
not perfect but still a great improvement considering the incompatibilities with some external libraries. GLM 0.9.3 provides two implemetanations, one for C++ 98 Also reaching GLM tool box, the new experimental extension GLM_GTX_constants provides a set of constants.
compilers and one for C++ 11 compilers providing an implemetnation closer to what GLSL does. Indeed the C++ 98 implementation is compatible with C++ 11 compilers.
=======
For the feature set, the GLSL noise functions have been implemented and based on the implementation of <link href="https://github.com/ashima/webgl-noise">webgl-noise</link>.
Some users might prefer the promoted GLM_GTC_noise extension also based on <link href="https://github.com/ashima/webgl-noise">webgl-noise</link> but different interface and three noise methods: Perlin noise, periodic noise and simplex noise.
>>>>>>> 6de0628bc9cdb995b33a67edcd2fd852a6ee4ef8
</paragraph> </paragraph>
<image src="./image/0075-1.jpg" /> <image img="./image/0075-2.jpg" title="Spherical random distribution with GLM_GTC_random" color="'white'" />
<paragraph> <paragraph>
Finally, swizzle operators are a challenging task to implement but thanks to the effort of many contributors, GLM 0.9.3.0 provides finally something interesting even if Finally, swizzle operators are a challenging task to implement but thanks to the effort of many contributors, GLM 0.9.3.0 provides something interesting, but admittably
not perfect but still a great improvement considering the incompatibilities with some external libraries. GLM 0.9.3 provides two implemetanations, one for C++ 98 not perfect. The new implementation is a great improvement considering the incompatibilities with some external libraries in GLM 0.9.2.7. GLM 0.9.3 provides two implemetanations, one for C++ 98
compilers and one for C++ 11 compilers providing an implemetnation closer to what GLSL does. Indeed the C++ 98 implementation is compatible with C++ 11 compilers. compilers and one for C++ 11 compilers providing an implemetnation closer to what GLSL does. Indeed the C++ 98 implementation is compatible with C++ 11 compilers.
</paragraph> </paragraph>
@ -267,12 +262,12 @@
glm::vec4 c = glm::vec4((a.zyx() + b.xyz()).xyz * 0.5f, 1.0f); glm::vec4 c = glm::vec4((a.zyx() + b.xyz()).xyz * 0.5f, 1.0f);
</line> </line>
<line align="32px"> <line align="32px">
<<<<<<< HEAD <comment>// Before being pasted to a function, a swizzle operator needs to be cast into</comment>
<comment>// Before being pasted to a function, a swizzle operator needs to be cast into a vector either explicitly or with the operator ()</comment> </line>
</line> <line align="32px">
<comment>// a vector either explicitly or with the operator ()</comment>
</line>
<line align="32px"> <line align="32px">
=======
>>>>>>> 6de0628bc9cdb995b33a67edcd2fd852a6ee4ef8
glm::vec2 d = glm::normalize(glm::vec2(c.yz)); glm::vec2 d = glm::normalize(glm::vec2(c.yz));
</line> </line>
<line align="32px"> <line align="32px">

@ -18,7 +18,7 @@
<a href="{./@href}"><xsl:value-of select="." /></a> <a href="{./@href}"><xsl:value-of select="." /></a>
</xsl:template> </xsl:template>
<xsl:template match="image"> <!--xsl:template match="image">
<xsl:choose> <xsl:choose>
<xsl:when test="./@href"> <xsl:when test="./@href">
<xsl:element name="a"> <xsl:element name="a">
@ -37,9 +37,33 @@
</xsl:element> </xsl:element>
</xsl:otherwise> </xsl:otherwise>
</xsl:choose> </xsl:choose>
</xsl:template> </xsl:template-->
<xsl:template match="image">
<xsl:choose>
<xsl:when test="contains(./@color, 'white')">
<div xmlns="http://www.w3.org/1999/xhtml" class="post-image-white">
<a href="{./@href}">
<img src="{./@img}" alt="{./@title}" />
</a>
</div>
</xsl:when>
<xsl:otherwise>
<div xmlns="http://www.w3.org/1999/xhtml" class="post-image-black">
<a href="{./@href}">
<img src="{./@img}" alt="{./@title}" />
</a>
</div>
</xsl:otherwise>
</xsl:choose>
<xsl:if test="./@title">
<div xmlns="http://www.w3.org/1999/xhtml" class="post-image-title">
<xsl:value-of select="./@title"/>
</div>
</xsl:if>
</xsl:template>
<xsl:template match="image-list"> <xsl:template match="image-list">
<div class="news-image"> <div class="news-image">
<xsl:apply-templates select="./image-element" /> <xsl:apply-templates select="./image-element" />
</div> </div>

Loading…
Cancel
Save