mirror of
https://github.com/g-truc/glm.git
synced 2025-04-14 17:13:41 +00:00
Merge branch '0.9.1' into doc
This commit is contained in:
commit
30a372fd59
11 changed files with 123 additions and 18 deletions
|
@ -19,5 +19,7 @@ add_subdirectory(test)
|
|||
add_subdirectory(bench)
|
||||
add_subdirectory(doc)
|
||||
|
||||
|
||||
|
||||
option(GLM_DEVELOPMENT_MODE "GLM development" OFF)
|
||||
if(NOT GLM_DEVELOPMENT_MODE)
|
||||
message(FATAL_ERROR "GLM is a header only library, no need to build it")
|
||||
endif()
|
||||
|
|
|
@ -12,6 +12,19 @@
|
|||
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=iso-8859-1" />
|
||||
<meta name="copyright" content="G-Truc Creation" />
|
||||
<link href="./common/style.css" rel="stylesheet" media="screen, print, embossed" type="text/css" />
|
||||
|
||||
<script type="text/javascript">
|
||||
var _gaq = _gaq || [];
|
||||
_gaq.push(['_setAccount', 'UA-20182250-1']);
|
||||
_gaq.push(['_setDomainName', '.g-truc.net']);
|
||||
_gaq.push(['_trackPageview']);
|
||||
|
||||
(function() {
|
||||
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
||||
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
||||
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
||||
})();
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<table>
|
||||
|
|
|
@ -12,6 +12,19 @@
|
|||
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=iso-8859-1" />
|
||||
<meta name="copyright" content="G-Truc Creation" />
|
||||
<link href="./common/style.css" rel="stylesheet" media="screen, print, embossed" type="text/css" />
|
||||
|
||||
<script type="text/javascript">
|
||||
var _gaq = _gaq || [];
|
||||
_gaq.push(['_setAccount', 'UA-20182250-1']);
|
||||
_gaq.push(['_setDomainName', '.g-truc.net']);
|
||||
_gaq.push(['_trackPageview']);
|
||||
|
||||
(function() {
|
||||
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
||||
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
||||
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
||||
})();
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<table>
|
||||
|
|
|
@ -1540,7 +1540,7 @@
|
|||
|
||||
<page_news>
|
||||
|
||||
<news index="0059" date="31/01/2011" title="GLM 0.9.1 alpha released" image="goodies/logo.png" image-mini="image/logo-mini.png">
|
||||
<news index="0059" date="31/01/2011" title="GLM 0.9.1 alpha released (updated)" image="goodies/logo.png" image-mini="image/logo-mini.png">
|
||||
<paragraph>
|
||||
This new version of GLM is bringing a lot of improvements and maybe too many considering the development time it has required:
|
||||
API exposing SIMD implementation but also some new, safe and feature complet swizzling functions and a new setup API.
|
||||
|
@ -1563,17 +1563,17 @@
|
|||
and <codeword>float</codeword> to <codeword>__m128</codeword>).
|
||||
This implementation can probably be improve in many ways so don't hesitate to send me some feedbacks.
|
||||
</paragraph>
|
||||
|
||||
<paragraph>
|
||||
GLM 0.9.1 is not 100% backward compatible with GLM 0.9.0 but mostly advanced usages should be concerned by this compatibility issues.
|
||||
</paragraph>
|
||||
<paragraph>
|
||||
UPDATED: SF.net mirrors are available again.
|
||||
</paragraph>
|
||||
|
||||
<source-list>
|
||||
<source type="Download" href="https://sourceforge.net/projects/ogl-math/files/glm-0.9.1.A/glm-0.9.1.A.zip/download">GLM 0.9.1.A (zip, 2.7 MB)</source>
|
||||
<source type="Download" href="https://sourceforge.net/projects/ogl-math/files/glm-0.9.1.A/glm-0.9.1.A.7z/download">GLM 0.9.1.A (7z, 1.7 MB)</source>
|
||||
<source type="Link" href="http://glm.g-truc.net/glm-0.9.1.pdf" title="GLM Manual" />
|
||||
<source type="Link" href="https://sourceforge.net/apps/trac/ogl-math/newticket" title="Submit a feature request or a bug report" />
|
||||
</source-list>
|
||||
<source type="Download" href="https://sourceforge.net/projects/ogl-math/files/glm-0.9.1.A/glm-0.9.1.A.zip/download">GLM 0.9.1.A (zip, 3.0 MB)</source>
|
||||
<source type="Download" href="https://sourceforge.net/projects/ogl-math/files/glm-0.9.1.A/glm-0.9.1.A.7z/download">GLM 0.9.1.A (7z, 2.0 MB)</source>
|
||||
<source type="Link" href="http://glm.g-truc.net/glm-0.9.1.pdf">GLM Manual</source>
|
||||
<source type="Link" href="https://sourceforge.net/apps/trac/ogl-math/newticket">Submit a bug report</source>
|
||||
</news>
|
||||
|
||||
<news index="0058" date="30/01/2011" title="GLM 0.9.0.7 released" image="goodies/logo.png" image-mini="image/logo-mini.png">
|
||||
|
|
|
@ -12,6 +12,19 @@
|
|||
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=iso-8859-1" />
|
||||
<meta name="copyright" content="G-Truc Creation" />
|
||||
<link href="./common/style.css" rel="stylesheet" media="screen, print, embossed" type="text/css" />
|
||||
|
||||
<script type="text/javascript">
|
||||
var _gaq = _gaq || [];
|
||||
_gaq.push(['_setAccount', 'UA-20182250-1']);
|
||||
_gaq.push(['_setDomainName', '.g-truc.net']);
|
||||
_gaq.push(['_trackPageview']);
|
||||
|
||||
(function() {
|
||||
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
||||
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
||||
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
||||
})();
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<table>
|
||||
|
|
|
@ -12,6 +12,19 @@
|
|||
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=iso-8859-1" />
|
||||
<meta name="copyright" content="G-Truc Creation" />
|
||||
<link href="./common/style.css" rel="stylesheet" media="screen, print, embossed" type="text/css" />
|
||||
|
||||
<script type="text/javascript">
|
||||
var _gaq = _gaq || [];
|
||||
_gaq.push(['_setAccount', 'UA-20182250-1']);
|
||||
_gaq.push(['_setDomainName', '.g-truc.net']);
|
||||
_gaq.push(['_trackPageview']);
|
||||
|
||||
(function() {
|
||||
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
||||
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
||||
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
||||
})();
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<table>
|
||||
|
|
|
@ -12,6 +12,19 @@
|
|||
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=iso-8859-1" />
|
||||
<meta name="copyright" content="� 2005 C-Truc Creation" />
|
||||
<link href="./common/style.css" rel="stylesheet" media="screen, print, embossed" type="text/css" />
|
||||
|
||||
<script type="text/javascript">
|
||||
var _gaq = _gaq || [];
|
||||
_gaq.push(['_setAccount', 'UA-20182250-1']);
|
||||
_gaq.push(['_setDomainName', '.g-truc.net']);
|
||||
_gaq.push(['_trackPageview']);
|
||||
|
||||
(function() {
|
||||
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
||||
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
||||
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
||||
})();
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="title1">
|
||||
|
|
|
@ -12,6 +12,19 @@
|
|||
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=iso-8859-1" />
|
||||
<meta name="copyright" content="G-Truc Creation" />
|
||||
<link href="./common/style.css" rel="stylesheet" media="screen, print, embossed" type="text/css" />
|
||||
|
||||
<script type="text/javascript">
|
||||
var _gaq = _gaq || [];
|
||||
_gaq.push(['_setAccount', 'UA-20182250-1']);
|
||||
_gaq.push(['_setDomainName', '.g-truc.net']);
|
||||
_gaq.push(['_trackPageview']);
|
||||
|
||||
(function() {
|
||||
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
||||
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
||||
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
||||
})();
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<table>
|
||||
|
|
|
@ -79,6 +79,11 @@ namespace glm
|
|||
detail::tquat<T> operator- (
|
||||
detail::tquat<T> const & q);
|
||||
|
||||
template <typename T>
|
||||
detail::tquat<T> operator* (
|
||||
detail::tquat<T> const & q,
|
||||
detail::tquat<T> const & p);
|
||||
|
||||
template <typename T>
|
||||
detail::tvec3<T> operator* (
|
||||
detail::tquat<T> const & q,
|
||||
|
@ -145,7 +150,7 @@ namespace glm
|
|||
//! Returns the cross product of q1 and q2.
|
||||
//! From GLM_GTC_quaternion extension.
|
||||
template <typename T>
|
||||
detail::tquat<T> cross(
|
||||
GLM_DEPRECATED detail::tquat<T> cross(
|
||||
detail::tquat<T> const & q1,
|
||||
detail::tquat<T> const & q2);
|
||||
|
||||
|
|
|
@ -156,6 +156,20 @@ namespace detail{
|
|||
return detail::tquat<T>(-q.w, -q.x, -q.y, -q.z);
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
inline detail::tquat<T> operator*
|
||||
(
|
||||
detail::tquat<T> const & q,
|
||||
detail::tquat<T> const & p
|
||||
)
|
||||
{
|
||||
return detail::tquat<T>(
|
||||
q.w * p.w - q.x * p.x - q.y * p.y - q.z * p.z,
|
||||
q.w * p.x + q.x * p.w + q.y * p.z - q.z * p.y,
|
||||
q.w * p.y + q.y * p.w + q.z * p.x - q.x * p.z,
|
||||
q.w * p.z + q.z * p.w + q.x * p.y - q.y * p.x);
|
||||
}
|
||||
|
||||
// Transformation
|
||||
template <typename T>
|
||||
inline detail::tvec3<T> operator*
|
||||
|
|
|
@ -22,9 +22,9 @@
|
|||
///////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Compiler
|
||||
|
||||
// User defines: GLM_FORCE_COMPILER_UNKNOWNED
|
||||
// User defines: GLM_FORCE_COMPILER_UNKNOWN
|
||||
|
||||
#define GLM_COMPILER_UNKNOWNED 0x00000000
|
||||
#define GLM_COMPILER_UNKNOWN 0x00000000
|
||||
|
||||
// Visual C++ defines
|
||||
#define GLM_COMPILER_VC 0x01000000
|
||||
|
@ -76,8 +76,8 @@
|
|||
#define GLM_COMPILER_CODEWARRIOR 0x04000000
|
||||
|
||||
// Force generic C++ compiler
|
||||
#ifdef GLM_FORCE_COMPILER_UNKNOWNED
|
||||
# define GLM_COMPILER GLM_COMPILER_UNKNOWNED
|
||||
#ifdef GLM_FORCE_COMPILER_UNKNOWN
|
||||
# define GLM_COMPILER GLM_COMPILER_UNKNOWN
|
||||
// Visual C++
|
||||
#elif defined(_MSC_VER)
|
||||
# if _MSC_VER == 900
|
||||
|
@ -157,7 +157,7 @@
|
|||
# define GLM_COMPILER GLM_COMPILER_CODEWARRIOR
|
||||
|
||||
#else
|
||||
# define GLM_COMPILER GLM_COMPILER_UNKNOWNED
|
||||
# define GLM_COMPILER GLM_COMPILER_UNKNOWN
|
||||
#endif
|
||||
|
||||
#ifndef GLM_COMPILER
|
||||
|
@ -249,7 +249,7 @@
|
|||
/////////////////
|
||||
// Platform
|
||||
|
||||
// User defines: GLM_FORCE_PURE
|
||||
// User defines: GLM_FORCE_PURE GLM_FORCE_SSE2 GLM_FORCE_AVX
|
||||
|
||||
#define GLM_ARCH_PURE 0x0000 //(0x0000)
|
||||
#define GLM_ARCH_SSE2 0x0001 //(0x0001)
|
||||
|
@ -258,6 +258,12 @@
|
|||
|
||||
#if(defined(GLM_FORCE_PURE))
|
||||
# define GLM_ARCH GLM_ARCH_PURE
|
||||
#elif(defined(GLM_FORCE_AVX))
|
||||
# define GLM_ARCH GLM_ARCH_AVX
|
||||
#elif(defined(GLM_FORCE_SSE3))
|
||||
# define GLM_ARCH GLM_ARCH_SSE3
|
||||
#elif(defined(GLM_FORCE_SSE2))
|
||||
# define GLM_ARCH GLM_ARCH_SSE2
|
||||
#elif((GLM_COMPILER & GLM_COMPILER_VC) && (defined(_M_IX86) || defined(_M_X64)))
|
||||
# if(defined(_M_CEE_PURE))
|
||||
# define GLM_ARCH GLM_ARCH_PURE
|
||||
|
@ -344,7 +350,7 @@
|
|||
# elif(GLM_COMPONENT == GLM_COMPONENT_MS_EXT)
|
||||
# pragma message("GLM: Multiple vector component names through Visual C++ language extensions")
|
||||
# else
|
||||
# error "GLM_COMPONENT value unknowned"
|
||||
# error "GLM_COMPONENT value unknown"
|
||||
# endif//GLM_MESSAGE_COMPONENT_DISPLAYED
|
||||
#endif//GLM_MESSAGE
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue