From d2b9bbb91147a152339cfcf3b0e9acee853d2ccc Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 27 Dec 2019 18:42:51 -0800 Subject: [PATCH 01/16] Fix Wimplicit-int-float-conversion warnings with clang 10+ This is a new warning in clang which will be available in clang 10 onwards Fixes error: implicit conversion from 'const int' to 'float' may lose precision [-Werror,-Wimplicit-int-float-conversion] --- glm/gtx/scalar_multiplication.hpp | 2 +- test/gtx/gtx_fast_trigonometry.cpp | 32 +++++++++++++++--------------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/glm/gtx/scalar_multiplication.hpp b/glm/gtx/scalar_multiplication.hpp index f391f8de..496ba193 100644 --- a/glm/gtx/scalar_multiplication.hpp +++ b/glm/gtx/scalar_multiplication.hpp @@ -54,7 +54,7 @@ namespace glm template \ return_type_scalar_multiplication \ operator/(Vec lh, T const& s){ \ - return lh *= 1.0f / s; \ + return lh *= 1.0f / static_cast(s); \ } GLM_IMPLEMENT_SCAL_MULT(vec2) diff --git a/test/gtx/gtx_fast_trigonometry.cpp b/test/gtx/gtx_fast_trigonometry.cpp index f3bf17bf..f3c4e957 100644 --- a/test/gtx/gtx_fast_trigonometry.cpp +++ b/test/gtx/gtx_fast_trigonometry.cpp @@ -239,12 +239,12 @@ namespace taylorCos std::vector Results; Results.resize(Samples); - float Steps = (End - Begin) / Samples; + float Steps = (End - Begin) / float(Samples); std::clock_t const TimeStampBegin = std::clock(); for(std::size_t i = 0; i < Samples; ++i) - Results[i] = fastCosNew(AngleShift + glm::vec4(Begin + Steps * i)); + Results[i] = fastCosNew(AngleShift + glm::vec4(Begin + Steps * float(i))); std::clock_t const TimeStampEnd = std::clock(); @@ -280,12 +280,12 @@ namespace taylorCos std::vector Results; Results.resize(Samples); - float Steps = (End - Begin) / Samples; + float Steps = (End - Begin) / float(Samples); std::clock_t const TimeStampBegin = std::clock(); for(std::size_t i = 0; i < Samples; ++i) - Results[i] = taylorCos::fastCosDeterminisctic(AngleShift + glm::vec4(Begin + Steps * i)); + Results[i] = taylorCos::fastCosDeterminisctic(AngleShift + glm::vec4(Begin + Steps * float(i))); std::clock_t const TimeStampEnd = std::clock(); @@ -327,12 +327,12 @@ namespace taylorCos std::vector Results; Results.resize(Samples); - float Steps = (End - Begin) / Samples; + float Steps = (End - Begin) / float(Samples); std::clock_t const TimeStampBegin = std::clock(); for(std::size_t i = 0; i < Samples; ++i) - Results[i] = taylorCos::fastRefCos(AngleShift + glm::vec4(Begin + Steps * i)); + Results[i] = taylorCos::fastRefCos(AngleShift + glm::vec4(Begin + Steps * float(i))); std::clock_t const TimeStampEnd = std::clock(); @@ -349,12 +349,12 @@ namespace taylorCos std::vector Results; Results.resize(Samples); - float Steps = (End - Begin) / Samples; + float Steps = (End - Begin) / float(Samples); std::clock_t const TimeStampBegin = std::clock(); for(std::size_t i = 0; i < Samples; ++i) - Results[i] = glm::fastCos(AngleShift + glm::vec4(Begin + Steps * i)); + Results[i] = glm::fastCos(AngleShift + glm::vec4(Begin + Steps * float(i))); std::clock_t const TimeStampEnd = std::clock(); @@ -371,12 +371,12 @@ namespace taylorCos std::vector Results; Results.resize(Samples); - float Steps = (End - Begin) / Samples; + float Steps = (End - Begin) / float(Samples); std::clock_t const TimeStampBegin = std::clock(); for(std::size_t i = 0; i < Samples; ++i) - Results[i] = glm::cos(AngleShift + glm::vec4(Begin + Steps * i)); + Results[i] = glm::cos(AngleShift + glm::vec4(Begin + Steps * float(i))); std::clock_t const TimeStampEnd = std::clock(); @@ -466,12 +466,12 @@ namespace taylor2 std::vector Results; Results.resize(Samples); - float Steps = (End - Begin) / Samples; + float Steps = (End - Begin) / float(Samples); std::clock_t const TimeStampBegin = std::clock(); for(std::size_t i = 0; i < Samples; ++i) - Results[i] = taylorCosA(AngleShift.x + Begin + Steps * i); + Results[i] = taylorCosA(AngleShift.x + Begin + Steps * float(i)); std::clock_t const TimeStampEnd = std::clock(); @@ -488,12 +488,12 @@ namespace taylor2 std::vector Results; Results.resize(Samples); - float Steps = (End - Begin) / Samples; + float Steps = (End - Begin) / float(Samples); std::clock_t const TimeStampBegin = std::clock(); for(std::size_t i = 0; i < Samples; ++i) - Results[i] = taylorCosB(AngleShift.x + Begin + Steps * i); + Results[i] = taylorCosB(AngleShift.x + Begin + Steps * float(i)); std::clock_t const TimeStampEnd = std::clock(); @@ -510,12 +510,12 @@ namespace taylor2 std::vector Results; Results.resize(Samples); - float Steps = (End - Begin) / Samples; + float Steps = (End - Begin) / float(Samples); std::clock_t const TimeStampBegin = std::clock(); for(std::size_t i = 0; i < Samples; ++i) - Results[i] = taylorCosC(AngleShift.x + Begin + Steps * i); + Results[i] = taylorCosC(AngleShift.x + Begin + Steps * float(i)); std::clock_t const TimeStampEnd = std::clock(); From a2e2e97a7aa000b41288e795000bf0a6cd365133 Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Sun, 5 Jan 2020 14:44:08 +0100 Subject: [PATCH 02/16] Updated license date #984 --- copying.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/copying.txt b/copying.txt index 422785d9..779c32fb 100644 --- a/copying.txt +++ b/copying.txt @@ -6,7 +6,7 @@ GLM is licensed under The Happy Bunny License or MIT License ================================================================================ The Happy Bunny License (Modified MIT License) -------------------------------------------------------------------------------- -Copyright (c) 2005 - 2014 G-Truc Creation +Copyright (c) 2005 - G-Truc Creation Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -33,7 +33,7 @@ THE SOFTWARE. ================================================================================ The MIT License -------------------------------------------------------------------------------- -Copyright (c) 2005 - 2014 G-Truc Creation +Copyright (c) 2005 - G-Truc Creation Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal From de00ac4ef54fa69d809f8e3a2b671d0337953f9d Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Sun, 5 Jan 2020 14:46:09 +0100 Subject: [PATCH 03/16] Updated tentative release date --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index bae80988..81f8d120 100644 --- a/readme.md +++ b/readme.md @@ -53,7 +53,7 @@ glm::mat4 camera(float Translate, glm::vec2 const& Rotate) ## Release notes -### [GLM 0.9.9.7](https://github.com/g-truc/glm/releases/latest) - 2019-XX-XX +### [GLM 0.9.9.7](https://github.com/g-truc/glm/releases/latest) - 2020-01-XX #### Improvements: - Improved Neon support with more functions optimized #950 - Added CMake GLM interface #963 From 436579b37e1d38e417ae204a86a2013321f15f9e Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Sun, 5 Jan 2020 15:13:20 +0100 Subject: [PATCH 04/16] Fixed Wimplicit-int-float-conversion warnings with clang 10+ #986 --- readme.md | 3 ++- test/gtx/gtx_fast_trigonometry.cpp | 32 +++++++++++++++--------------- 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/readme.md b/readme.md index 81f8d120..3486af0c 100644 --- a/readme.md +++ b/readme.md @@ -53,7 +53,7 @@ glm::mat4 camera(float Translate, glm::vec2 const& Rotate) ## Release notes -### [GLM 0.9.9.7](https://github.com/g-truc/glm/releases/latest) - 2020-01-XX +### [GLM 0.9.9.7](https://github.com/g-truc/glm/releases/tag/0.9.9.7) - 2020-01-05 #### Improvements: - Improved Neon support with more functions optimized #950 - Added CMake GLM interface #963 @@ -65,6 +65,7 @@ glm::mat4 camera(float Translate, glm::vec2 const& Rotate) - Fixed for intersection ray/plane and added related tests #953 - Fixed ARM 64bit detection #949 - Fixed GLM_EXT_matrix_clip_space warnings #980 +- Fixed Wimplicit-int-float-conversion warnings with clang 10+ #986 ### [GLM 0.9.9.6](https://github.com/g-truc/glm/releases/tag/0.9.9.6) - 2019-09-08 #### Features: diff --git a/test/gtx/gtx_fast_trigonometry.cpp b/test/gtx/gtx_fast_trigonometry.cpp index f3c4e957..8bf86ba0 100644 --- a/test/gtx/gtx_fast_trigonometry.cpp +++ b/test/gtx/gtx_fast_trigonometry.cpp @@ -239,12 +239,12 @@ namespace taylorCos std::vector Results; Results.resize(Samples); - float Steps = (End - Begin) / float(Samples); + float const Steps = (End - Begin) / static_cast(Samples); std::clock_t const TimeStampBegin = std::clock(); for(std::size_t i = 0; i < Samples; ++i) - Results[i] = fastCosNew(AngleShift + glm::vec4(Begin + Steps * float(i))); + Results[i] = fastCosNew(AngleShift + glm::vec4(Begin + Steps * static_cast(i))); std::clock_t const TimeStampEnd = std::clock(); @@ -280,12 +280,12 @@ namespace taylorCos std::vector Results; Results.resize(Samples); - float Steps = (End - Begin) / float(Samples); + float const Steps = (End - Begin) / static_cast(Samples); std::clock_t const TimeStampBegin = std::clock(); for(std::size_t i = 0; i < Samples; ++i) - Results[i] = taylorCos::fastCosDeterminisctic(AngleShift + glm::vec4(Begin + Steps * float(i))); + Results[i] = taylorCos::fastCosDeterminisctic(AngleShift + glm::vec4(Begin + Steps * static_cast(i))); std::clock_t const TimeStampEnd = std::clock(); @@ -327,12 +327,12 @@ namespace taylorCos std::vector Results; Results.resize(Samples); - float Steps = (End - Begin) / float(Samples); + float const Steps = (End - Begin) / static_cast(Samples); std::clock_t const TimeStampBegin = std::clock(); for(std::size_t i = 0; i < Samples; ++i) - Results[i] = taylorCos::fastRefCos(AngleShift + glm::vec4(Begin + Steps * float(i))); + Results[i] = taylorCos::fastRefCos(AngleShift + glm::vec4(Begin + Steps * static_cast(i))); std::clock_t const TimeStampEnd = std::clock(); @@ -349,12 +349,12 @@ namespace taylorCos std::vector Results; Results.resize(Samples); - float Steps = (End - Begin) / float(Samples); + float const Steps = (End - Begin) / static_cast(Samples); std::clock_t const TimeStampBegin = std::clock(); for(std::size_t i = 0; i < Samples; ++i) - Results[i] = glm::fastCos(AngleShift + glm::vec4(Begin + Steps * float(i))); + Results[i] = glm::fastCos(AngleShift + glm::vec4(Begin + Steps * static_cast(i))); std::clock_t const TimeStampEnd = std::clock(); @@ -371,12 +371,12 @@ namespace taylorCos std::vector Results; Results.resize(Samples); - float Steps = (End - Begin) / float(Samples); + float const Steps = (End - Begin) / static_cast(Samples); std::clock_t const TimeStampBegin = std::clock(); for(std::size_t i = 0; i < Samples; ++i) - Results[i] = glm::cos(AngleShift + glm::vec4(Begin + Steps * float(i))); + Results[i] = glm::cos(AngleShift + glm::vec4(Begin + Steps * static_cast(i))); std::clock_t const TimeStampEnd = std::clock(); @@ -466,12 +466,12 @@ namespace taylor2 std::vector Results; Results.resize(Samples); - float Steps = (End - Begin) / float(Samples); + float const Steps = (End - Begin) / static_cast(Samples); std::clock_t const TimeStampBegin = std::clock(); for(std::size_t i = 0; i < Samples; ++i) - Results[i] = taylorCosA(AngleShift.x + Begin + Steps * float(i)); + Results[i] = taylorCosA(AngleShift.x + Begin + Steps * static_cast(i)); std::clock_t const TimeStampEnd = std::clock(); @@ -488,12 +488,12 @@ namespace taylor2 std::vector Results; Results.resize(Samples); - float Steps = (End - Begin) / float(Samples); + float const Steps = (End - Begin) / static_cast(Samples); std::clock_t const TimeStampBegin = std::clock(); for(std::size_t i = 0; i < Samples; ++i) - Results[i] = taylorCosB(AngleShift.x + Begin + Steps * float(i)); + Results[i] = taylorCosB(AngleShift.x + Begin + Steps * static_cast(i)); std::clock_t const TimeStampEnd = std::clock(); @@ -510,12 +510,12 @@ namespace taylor2 std::vector Results; Results.resize(Samples); - float Steps = (End - Begin) / float(Samples); + float const Steps = (End - Begin) / static_cast(Samples); std::clock_t const TimeStampBegin = std::clock(); for(std::size_t i = 0; i < Samples; ++i) - Results[i] = taylorCosC(AngleShift.x + Begin + Steps * float(i)); + Results[i] = taylorCosC(AngleShift.x + Begin + Steps * static_cast(i)); std::clock_t const TimeStampEnd = std::clock(); From af6f1d7b8f975a9a642f211fb2dbc1ece201bb6d Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Sun, 5 Jan 2020 15:26:50 +0100 Subject: [PATCH 05/16] Fixed EXT_matrix_clip_space perspectiveFov --- glm/ext/matrix_clip_space.inl | 6 +++--- readme.md | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/glm/ext/matrix_clip_space.inl b/glm/ext/matrix_clip_space.inl index 1b4c7708..7e4df330 100644 --- a/glm/ext/matrix_clip_space.inl +++ b/glm/ext/matrix_clip_space.inl @@ -473,11 +473,11 @@ namespace glm { # if GLM_CONFIG_CLIP_CONTROL == GLM_CLIP_CONTROL_LH_ZO return perspectiveFovLH_ZO(fov, width, height, zNear, zFar); - elif GLM_CONFIG_CLIP_CONTROL == GLM_CLIP_CONTROL_LH_NO +# elif GLM_CONFIG_CLIP_CONTROL == GLM_CLIP_CONTROL_LH_NO return perspectiveFovLH_NO(fov, width, height, zNear, zFar); - elif GLM_CONFIG_CLIP_CONTROL == GLM_CLIP_CONTROL_RH_ZO +# elif GLM_CONFIG_CLIP_CONTROL == GLM_CLIP_CONTROL_RH_ZO return perspectiveFovRH_ZO(fov, width, height, zNear, zFar); - elif GLM_CONFIG_CLIP_CONTROL == GLM_CLIP_CONTROL_RH_NO +# elif GLM_CONFIG_CLIP_CONTROL == GLM_CLIP_CONTROL_RH_NO return perspectiveFovRH_NO(fov, width, height, zNear, zFar); # endif } diff --git a/readme.md b/readme.md index 3486af0c..5397a4c1 100644 --- a/readme.md +++ b/readme.md @@ -66,6 +66,7 @@ glm::mat4 camera(float Translate, glm::vec2 const& Rotate) - Fixed ARM 64bit detection #949 - Fixed GLM_EXT_matrix_clip_space warnings #980 - Fixed Wimplicit-int-float-conversion warnings with clang 10+ #986 +- Fixed EXT_matrix_clip_space perspectiveFov ### [GLM 0.9.9.6](https://github.com/g-truc/glm/releases/tag/0.9.9.6) - 2019-09-08 #### Features: From c8440b09e24a239f774521db57ac3663ef497510 Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Sun, 5 Jan 2020 15:27:06 +0100 Subject: [PATCH 06/16] Fixed doc theme --- doc/api/bc_s.png | Bin 676 -> 600 bytes doc/api/bdwn.png | Bin 147 -> 200 bytes doc/api/closed.png | Bin 132 -> 194 bytes doc/api/doc.png | Bin 746 -> 624 bytes doc/api/doxygen.css | 226 +++++++++++++++++++++++---------------- doc/api/doxygen.png | Bin 3779 -> 2419 bytes doc/api/folderclosed.png | Bin 616 -> 573 bytes doc/api/folderopen.png | Bin 597 -> 596 bytes doc/api/nav_f.png | Bin 153 -> 233 bytes doc/api/nav_h.png | Bin 98 -> 188 bytes doc/api/open.png | Bin 123 -> 177 bytes doc/api/splitbar.png | Bin 314 -> 262 bytes doc/api/sync_off.png | Bin 853 -> 717 bytes doc/api/sync_on.png | Bin 845 -> 712 bytes doc/api/tab_a.png | Bin 142 -> 217 bytes doc/api/tab_b.png | Bin 169 -> 253 bytes doc/api/tab_h.png | Bin 177 -> 255 bytes doc/api/tab_s.png | Bin 184 -> 260 bytes 18 files changed, 134 insertions(+), 92 deletions(-) diff --git a/doc/api/bc_s.png b/doc/api/bc_s.png index 224b29aa9847d5a4b3902efd602b7ddf7d33e6c2..a274117185b99f403e7ec5e6cebee7c654c143a5 100644 GIT binary patch delta 576 zcmV-G0>AyF1=s|TBYyw^b5ch_0Itp)=>Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi z!vFvd!vV){sAK>D02p*dSaefwW^{L9a%BK;VQFr3E^cLXAT%y8E;(#7eog=Y0m(^3 zK~y+TZIaDPTTu|j2Lz>{XoY~)O$Dh|yATzzHBg9MRHTI#H-9QFN~sGgC=tJ~7)pdd3vUtK3u1y&7ZpUo52#QObN&L)gxtr=GmGCa=iFiDehK1%JTfba z4?q0kg`wX;Dbka#RnutoGQsOVMC#Ko)ij#DJmA6&_j1cl zEi@jNV-1PHJr=DARvXLlhDY2%a&)8IqLN^TERrJ&6n_m~YO(q#4{KQQ2_pBHX8S`} z@3vIasPpm%@qsfWh61Vup&B=S&cEdR6XP*dyRrDhS#}5-Pw=(MP*3BAx2X7x&roRy z@`7^w$(t^Z1&a>H{2=Fu_4!>M!%~3&+h1`0aZx)6mJ4k1k+MAhbWuA9z6m!Zc`hpT z)ap41zB$VrA`kZw?MN_JU4kGi{9etMSZ{mITy+UL=Lpd!dstz950N_+H^+xJK<-@t O00001f&I!BYy&GNkly__>=_9%My{n931IS})GlGUF8K!1sC+I1jc5)9aAVDb0V zuL%I4g!%?1xA7bv@z>dYlf9SR@`nP>-O&$CG`J;+GqR^Y%Iat-fdBb{ADLXlS!q5> zVhTWK``>Bah!Fa+(Q9WJ1_h_%>Rb`%y{!Y9MV(dVopvifMS$)iaOT$ALR^DcCKmA6 z^CWgnE9#OCM1O9)DSh((I;U7~;thi{irTLOC$GOQ1%hV5Fzj`TIr2>XYJg@RHn=6L z0W(Ktl++{Cb8Q>|C><;p`NL}}%9686ss)9wyaE790?VRrq=)WwnxqN%=g;=zq|~X8=G+)Y{(Qwd*s2Ixjp0 z07}OklF(5p3GumwbQ{{=_XGeaP5WFnGwDNTY$5#u?K}UtG}&n4@jdri>oPg5caq)G zw6_$9Ry)c}7&C)vCO4_Ky1n;dAxVY-DeLPbE%wJ2)A|6jn;VNabV*jeR^ai}{9+e8bOBgqIgldUJlG(YUDviMB`9+DH8 zn-s9SXRLyJHO1!=wY^79WYZMTa(wiZ!zP66A~!21vmF3H2{ngD;+`6j#~6j;$*f*G n_2ZD1E;9(yaw7d-QnSCpK(cR1zU3qU0000GZx^prw85kH?(j9#r85lP9bN@+X1@buyJR*x382Ao@Fyrz3 z6)8YLi4xa{lHmNblJdl&REC1Y%)Ao4ywnl}6Fmbx%N*l6KcE^*PZ!4!iST3xw)tw( zf7^`=88at2G_q+3y9(*>2{mXocsBh=FzadTRb|t331c{1u=)UlCu2xcBO?RzKZnlW Tx@;UkQy4s5{an^LB{Ts5{D?Bn delta 118 zcmV-+0Ez#|0h0lcByU5jgR3=A9lx&I`x0{NT;9+AZi419+{nDKc2 ziWH!rM2TxeNpOBzNqJ&XDnmhHW?qS2UTTSgiJpO;WsY&3A5e|4r;B5VMsTtN`+PO& zzwJha%oCKFxDvZQXt{*71S{@RTEoSu#lYCaCGXI%fJxv$$bkb43|IS|k8hu$!vxgN N;OXk;vd$@?2>|zTGEV>i delta 103 zcmV-t0GR*60fYgNBw$NPL_t(|0qxyw4L~6XhS5iBnaKh-z%5`VbLn(*1E!F`@&5Ag z5dlEuYkdH!GJuVR2~Z`$U(5c#PO=RyIxs|QrHjIw4tOF7)|)Az6cBjQHT3`h002ov JPDHLkV1l#BDjom; diff --git a/doc/api/doc.png b/doc/api/doc.png index 17edabff95f7b8da13c9516a04efe05493c29501..f3953d1fce2c582d87c6434d2fea7607ccc943ac 100644 GIT binary patch delta 600 zcmV-e0;m1z1@HurBYyw^b5ch_0Itp)=>Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi z!vFvd!vV){sAK>D02p*dSaefwW^{L9a%BK;VQFr3E^cLXAT%y8E;(#7eog=Y0pUqR zK~zXfwUo^(L}3)h=TEY*^#`!C6dTEcEW`q_kbJCAD5X#eWq&a~Y7`kY`I-fVe3g$; zLufMU`~%1Hyyu$ezKyP~#nXH5bMHOB_dMsFNr=e5%4^0cuNkMjrd({QoUW=IFPgG* zD(MlGR2SA^mCPjkC6(NXdcXfBuPK>vmD@e&z;u%~AVH}fth4a5fDK~ZFAMRSl9>vM zA3=wK06bl@;(w`bm0}SdAX|O*%vT5Ung+nfKSUTI=w!ay042zPO8&wN2^mfVVV}F~!vW|GqyxsFhKz0nW)f*L% zGjXTPn*|nXEspUD-1j3EyvNzF6L#sT6*8Q@0EH)xjpfQF1QP z0cgMQj3FnHeG7J8r!rlI88oXLOk-`ddlw@hkpbK#cmLZAoB;V7;60c@jh!6d4A>7=@pnbNXRFEm&G8P!&WHG=d)>K?YZ1 zbzou)2{$))umDct!>4SyxL;zgaDSlh<@?4~f!x*}p@0XU z*CMRehFE}PUC;&K1T&M#035@_%zv49jh~?3P2ikc7d+=vP-}K$muSc*g_)RM#cdgx zXxKLjU0Z zWe`v*LIF3QzklWQ9wE8i5odBX%W^hvOJeJR{^RiUa!HiSREYeljHr0?_C1^Vq9%zb zWh>wF#B2Qk$6)Kh++r@1xDe01-*Z_uzwFw1xF8#djF^|MQ3{qpU2{1 zZ;HWzR{A;{=)akyF%cvZ^iro1S1gtQs^F+Vipw=NzQEMn8ZC_xzASC(xXv%;=((04 z67q626{S=vQz%wu1~~RPb&?I$qX&1J`SW2L13k?=d(xp*j1Kp5uPe#rWJJ$KB{@tZpDT4`M2WRTTVH+D?)GFlEGGHe?koB}i|1w45!BF}N_q&^H zJ&-tyR{(afC6H7|aml|tBBbv}55C5DNP8p3)=aBm)JoOf1BVxvZHt7U=kW+jbN}G+ zR*C@Fp|H12;?f;njSK@+!ImK1n{uV!y$1Mg{QqB>KLDy%#IW}xbq@dl002ovPDHLk FV1jPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi 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 diff --git a/doc/api/folderclosed.png b/doc/api/folderclosed.png index bb8ab35edce8e97554e360005ee9fc5bffb36e66..2a4bb4a518c6acc32a6ebd2ab728b603c1d7bc1b 100644 GIT binary patch delta 549 zcmV+=0^0rP1ib{1BYyw^b5ch_0Itp)=>Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi z!vFvd!vV){sAK>D02p*dSaefwW^{L9a%BK;VQFr3E^cLXAT%y8E;(#7eog=Y0j^0z zK~zXfwbQ#wLqQM*;Jku`4o`bRQ0udqvO`;IN zm=wW8Eh40_2&C{G_662|_LA&5S;!VA#mDSSc4s!ai803d%36$)wHPI9kySj-?xuq( z7u>qH2WwF@EFT+AM{VE#Nl1o>DGR_A%FB)V#HxUVi*TDIm@nd_Oc;S zPH0W_?3#)ia{7$UhWZ5(fi`7V@uOLSWxx+lM4jvPN)Qb>9daCyo`+c}HDi~a>+BJ5 z#%Ta;iVqkDExB3KYec6%(ch0Rw7#I~vt}9IefIn6v&J*zAdkF&dJ#(4_W_?!^TYiD nNk3SNQ691uqhu{chsFK@#ODmi;UD}P00000NkvXXu0mjf;4$y8 delta 592 zcmV-W0a9#ETzayK)T~Jw&MMH>O zIr#&;dC}is*2Mqdf&akCc=O@`qC+4i5Iu3w#1M@KqXCz8TIZd1wli&kkl2HVcAiZ8 zPUn5z_kG@-y;?yK06=cA0U%H0PH+kUl6dp}OR(|r8-RG+YJZflICIegfRiATfSiwC z8y>t{!tLg#??eCqCxVp}d3j|k_`LfIHzNXaPM>V={0M6*48AbXtY2iSUnt=5!7iF&z!n%Gb+73A~ejgri&b^W{~AG=&c<4O@@mqIkJ4&&X{E*3hY z&yOw9&) zXg+W`0Hlza0Yyd5tfxCsyPITfVi4@tsr#N&L01Tv#3UM5i7CLoy|8|w#o2;_g zc17ZDdr5>%w?I?rsXCi#mRWJ=-0LGV5a-WR0Qgt< e|Nqf)C-@80`5gIz45^_20000 diff --git a/doc/api/folderopen.png b/doc/api/folderopen.png index d6c7f676a3b3ef8c2c307d319dff3c6a604eb227..cac00780d1740589ea8b5f9ca5cd9bcd391006af 100644 GIT binary patch delta 572 zcmV-C0>k~)1k?nOBYyw^b5ch_0Itp)=>Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi z!vFvd!vV){sAK>D02p*dSaefwW^{L9a%BK;VQFr3E^cLXAT%y8E;(#7eog=Y0mVr~ zK~zXfwUoO~0znjpc?Am}!q^zKFd7@R@zQuJyfoe#wJ=&Jp?^VxHfku?NZ~C(LqP%> zlQlu5Fp+3ML1AISTbvgd|1&e|vcq5~mg38q^E2oFmtmO*5w#Vo7$#OROsry4`hFJHz5iepC2U@O6!h~ZsP>_7_XIudC<@!EvgRH%4YrDs(y^e* zoep_HKpFKF{eJ_<^+sF&MY%$VHV5?IcxX@8cDJnZ_$(*kWBlq9$>O=J%Iqs8h(LBa@K{- z`ZeWhu5G;s&l-M#M&boD!wmM|zU6>Kr$I+uZMH^j>4>U%hbmbI*MLLi3kR2-gUimL z;vtAR_%)A!DAsZ432=%%DeS)j*N*8IXxf2Q3=^vuCRQ;#DDn#sknSatknNuU0000< KMNUMnLSTYfG5L`I delta 573 zcmV-D0>b^&1l0tPBYy%MNklX=#(TiCT&PiIIVc z55T}TU}EUh*{q$|`3@{d>{Tc9Bo>e=fmF3!f>fbI9#GoEHh0f`i5)wkLpva0ztf%H zpZneK?w-7AK@b4Itw{y|Zd3k!fH?q2lhckHd_V2M_X7+)Uw_KRih-?$r2)WoWhwwW zuUSRpb6Mo(LZY9){=}D~bJ-OEy&ApQjD`%!s~4N8z*)y}03abp$G;qQ%!j$r*shuj zu#AG#M!5ieaUP{&4qf*G4>#?%05B=qWShSK@Ga=NeNblPqt;n_G?~%DKz;h=^zky= z{M45g@%rUXjDJaj!N-GR=fS!qqpVemut~FR8)LEb1(@Z$)W)6s$Uf<~c>Z)b#w4`{ z{R>a#Rz)iHRkX~4=M*EJ*NBzx`*IyXY$O2qQ2%mB0AXPn#~Y;yvYTXDu5##+<8c5< zgaiO@yd3ycT#hVss%j822pvX2cpnFLEe1@V8F1H(9e;2NRK!Uy3S6agW*6l)`|bq&yFXVgA*evXkG_1DJV}qYkGzk2;L*`76MW zvmSu);4DQ8o@TQ)=}rKMjl@NxOI3Z`UJ^SSw%Bf3qIKUCtyNPrmkrUZ>tgMmPPQ)E zYo^$0R5rx+x+Na9s^STqX|Gnq%H8s(nGDGJ8vwW|`Ts`)fSK|Kx=IK@RG@g200000 LNkvXXu0mjf71kI9 diff --git a/doc/api/nav_f.png b/doc/api/nav_f.png index 72a58a529ed3a9ed6aa0c51a79cf207e026deee2..c77a42e73e0d578c24e875d78248305b3f2cefaa 100644 GIT binary patch delta 205 zcmbQq_>ysgNGZx^prw85kH?(j9#r85lP9bN@+X1@buyJR*x382Ao@Fyrz3 z6)8YLi4xa{lHmNblJdl&REC1Y%)Ao4ywnl}6Fmbx%N*l6KcJc@PZ!4!iSXWYmRt=E z0xlPK{a@%4Bg|aB@Ty>ln*h%*mN0`Z9yT`pe{S+s?@|^XchkOdE+u2pL^h!pmjb99$S3j3^P68&Wn}AXZ5Qu@Xg)f;DQhglrV^nwx1!n5^FF=Snb)(Gk%vj{BRL9T9c- e@$=rlHgf|=7$DsN0QGqQ0000*8o|0J>k`J4qFk;M!Qe1}1p@p%4< z6ri9)iEBhjaDG}zd16s2LqTF@UWr~_YKel0o`Ifaj&YqIP>rsqi(`mHIPc+;oD2#A zEC)~8yRC2E)U~6(?|`NTqf%FR{=M1`>)K8p$@_IK`}iez6@@B&x*35w89ZJ6T-G@y GGywqo#xXen delta 68 zcmdnPm^4AfPSexHF{Fa=?OjJM1_utOz_rZmn`hmgePL1G!}mdKI;Vst0K$J9tN;K2 diff --git a/doc/api/open.png b/doc/api/open.png index 30f75c7efe2dd0c9e956e35b69777a02751f048b..a4d7097583a38ed1636084bf63588f1dbc1461d7 100644 GIT binary patch delta 148 zcmb>4$T&fzp0PN{-HBn{IhmIX3=Aykj=qiz3>*8o|0J>k`J4qFk;M!Qe1}1p@p%4< z6ri9)iEBhjaDG}zd16s2LqTF@UWr~_YKel0o`Ifaj&YqIP>qtOi(`mJaI!?tgUcz4 u|F;-8wkEI|I0P{A2!t>&&)|}fV2D(8KJLWL*Z%;hoWax8&t;ucLK6V9Tq`dC delta 93 zcmV-j0HXh~0eg@nS3*fdK~#7F?cKo%fG`XN(ATWhnOwjDx_~n|mtr9osX2Rm@JT)- zBf#IZ{WveE#MpX+FV8+Qz+28|X;myQtbV)!&s+?|4>{Sm00000NkvXXu0mjfTo@-a diff --git a/doc/api/splitbar.png b/doc/api/splitbar.png index fe895f2c58179b471a22d8320b39a4bd7312ec8e..d5bc78b2826eb4e32c5c7b00247aee6141b2a004 100644 GIT binary patch literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^Yzz!63>-{AmhX=JfEakt5%>1oLf!@k0Tzd@zj_(1T>F?!+T=VO9&KmhYdpNbpg3vr z+%-EC_ddO|SvPX|ndHzG0VfVc4C2>Rt!^!Ot9PNXYbX5=(_gQIp#q{ye&u%Vi9ZDQ UeGhkH2Rebl)78&qol`;+0Eb>qmjD0& literal 314 zcmeAS@N?(olHy`uVBq!ia0vp^Yzz!63>-{AmhX=Jf(#6djGiuzAr*{o?=JLmPLyc> z_*`QK&+BH@jWrYJ7>r6%keRM@)Qyv8R=enp0jiI>aWlGyB58O zFVR20d+y`K7vDw(hJF3;>dD*3-?v=<8M)@x|EEGLnJsniYK!2U1 Y!`|5biEc?d1`HDhPgg&ebxsLQ02F6;9RL6T diff --git a/doc/api/sync_off.png b/doc/api/sync_off.png index 3b443fc62892114406e3d399421b2a881b897acc..9402c109d97fc70608ecf1b419628f8f64ee954c 100644 GIT binary patch delta 694 zcmV;n0!jVV2F(SKBYyw^b5ch_0Itp)=>Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi z!vFvd!vV){sAK>D02p*dSaefwW^{L9a%BK;VQFr3E^cLXAT%y8E;(#7eog=Y0zOGZ zK~zXfrPa+#RACebaK(Qi7dJ|CqxJN0>yw5pjzV4k8vaLdn z!yR}9A7B-J!aVfBU8n}BH%BZ&IdlRKQ+xOgJx~RqS)l@4gU=uhD`X9Bf-%o{0xhr& z(t!PX0NzY}_~PmDFcutvuONksu?Z)^Tfkqa6jaoCTCTH5m0WiWK`9SE2AOsToDjFG-mW zUeIe4WA%#CADzbiE?}!miu#*^nFKFb@Cw8C6=i<-O@C~0Leb%4%kK>sr@#2wD>L^^k+roQL1xdn?}<9J6n zoc@G{cjl|-$6QO#h4a%d{G4rl;{}6SLDB2miq=;AhOtL_gDH01&t*37gJ=t8lDyzv zpom|`Wq(CW@14f+cJoXZZ*(&JF5@?(Oq3VYz#pyXh}7cCdb9Te{*^`R42hj!I zOntbE|Kxvx)Lh74@Lsvgc%nHAe0}VIG%V;XTrY&stWY6<7d?Sl_yT<2T8Cvwz*ES5 cnKG;7A5vz#gZeYIQ2+n{07*qoM6N<$f|{B*Y5)KL delta 831 zcmV-F1Hk;v1=R+SBYy)NNkloooXcRj<9B{QZgO7hj7%fQ;%Cpj{jm5rA1J79WaE@v%5&{V@ly z)*f;C6&`LaW#Xv#bh-d-;>Zls1~40aVw?FTx2d()jIKSO2QUY;vpa;@@@RmdwzjOD&(?J@3T*Qk4VTikJWT65A!;g1QrA~63(*)eZcUZk92cFdYT321 z{(1&DX4LoHRpZk-5&%1&$31D?D*n=;96CPCx|SL`-pyRZW8=?w_-InH z%IJqtbblnj-yf%_Adjk`W@NhjJTyZ8*;|!n9=K#TJuZz+={YZ#>8iu)`7i%Z4BTPh z@_m3Tk!nAm^)5Bqnr%Ov|Baunj#&RPtRuK&4RGz|D5HNrW83-#ydk}tVKJrNmyYt- zsTxLGlJY5nc&ReU4MWqu}FZmD{J`nPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi z!vFvd!vV){sAK>D02p*dSaefwW^{L9a%BK;VQFr3E^cLXAT%y8E;(#7eog=Y0y#-U zK~zXfrPa?%R8bTMaHW4C7cVSxqiF>ajEyo zHn;}-s~b?9>3<)78umK8;1XB?`{4_?7MJ52G(a(c57f0#iyW1;aILJ_Mxm02S3@RW z3^=eu$%LYbTe6qvRFr&-@H*Ku8ad!E8UbqQO?#*ZMi& zL7=E8-k~V{K@Zq1fUPVjdURf{33*8ln6-*y*A-<}&3|S#H>K#sUAUJQRg@aF*JQJ< zuX2$C^wY|RHa%=_Do5%mW;JZ)12#B-pFkAr&3C>R^RIAzP0Rj(x%`DT*)KPxKVsuc zy*UT3(=&42>mj_+8Z#^8edT~BzJfM#S<(8E**MW__gTE%^fQ~d5qjjBkeA|sYk{H` zYg4rFR(}teye<2QbGpZ$E^$`&wI~PF!w+B42p_?rJ^OnA-(ArYvS*y+02cQZZQ(=P zI5bBcH%0ictQ%9XuMkiJS#T{Z$1i9G>*u-)T#L)m1G%~W0LFh7t_}ZV0E#pH!wdLN zehXZiOZf@KcV1v!_#6j*K7NC1SkQB50WnJy0xCGD58l9M;NPtcScD|pf!txbc@=*E Xe|^2NL&aGT00000NkvXXu0mjfl}0iY delta 823 zcmV-71IYZy1Y;xxyHF2B5Wzm|OOGupOTn@c(JmBOl)e;XMNnZuiTJP>rM8<| zQ`7IQhabNU^YoZUp zj19m5YFoaoxI&oSA0H(nyeh~HIfapy9Fat=9R`J&i z9-ewF5Wk5-lO?DTXQr4ofay3T+Vy{|73+8E*;UWK0+}e{?s4UCp?Ys8?25-irRFo`ae_NQm1r7i+Eh@npzz~H#4+rIk%L?ZMOv#_;W`Ap# z(xB;gBPu~fYD-mlKKq)>$@M0CwW2teZ8b}2tP5%yYJY=7D!)#S)@f&V!#6~#l5KkF zssy?EOWVG&h_+23=A_MQ&_9owZ~d%a<ZP1@J}O4m&ohWg<~1ve`YBzeRe(rZr30yw6myOj+_XyUzTS9X?-X!HZ`1b~U_>afxir~5jgR3=A9lx&I`x0{NT;9+AZi419+{nDKc2 ziWH!rM2TxeNpOBzNqJ&XDnmhHW?qS2UTTSgiJpO;WsY&3A5e{#r;B5VM0oD8v%C%t z46F~YFSpy0&{^OlfD TS)Sv400000NkvXXu0mjf`am(l diff --git a/doc/api/tab_b.png b/doc/api/tab_b.png index e2b4a8638cb3496a016eaed9e16ffc12846dea18..e14114dc75fef8984382122e778c4a0948dfcd6d 100644 GIT binary patch delta 225 zcmZ3<_?K~lNGZx^prw85kH?(j9#r85lP9bN@+X1@buyJR*x382Ao@Fyrz3 z6)8YLi4xa{lHmNblJdl&REC1Y%)Ao4ywnl}6Fmbx%N*l6KcJdCPZ!4!iE!03)_hF? zA}tRiZLB9OXbtK(c#NG_jEzgkm5Vz$&(Y~6UsM|FKlANBCQY6^bK+s&xVTUH4^G=A z9&w&mU7{%*_4D$BF79&{C*Lc-N{LXMKA-j4jT4u}tf!=WvsjYz=GfdF*7tvg7R~?5 YDBcm?Cls3F0<@aJ)78&qol`;+0BYk@M*si- delta 141 zcmV;80CNBR0jU9yB!6&8L_t(|0qxyQ4uc>RMd8Q0(A2oN4s~GSz_eB{&>x`2eL8dp zT|~jMkaNG}u7bAx%XOvre3E$i74E&jKK~gPF}n{Y8=!5(I0xKQ+0l61Ou$w991{_m v-m(zHX%0n}isespgrbrefo^!<(&``6OBznHeiUi|0000GZx^prw85kH?(j9#r85lP9bN@+X1@buyJR*x382Ao@Fyrz3 z6)8YLi4xa{lHmNblJdl&REC1Y%)Ao4ywnl}6Fmbx%N*l6KcJcdPZ!4!iSXnfTeePm zc==vgn?L({W9Zbrp09y#g|bL2y2FyrCnrIrqJc#lLn z%;7xv*|zZpcgNnw8|@D-FLF@eV|tXJz{mI~pw0jEq6Uk$hnH8WDEKwbU^L2)R5`r- aq!@#jou@^7gisIAat2RVKbLh*2~7Y|kXCE} delta 149 zcmV;G0BZmL0kHv)B!75GL_t(|0qxyQ62U+ahT)!m5vAP5&XPrTh`$;lA(gU`WGdHk z1V?cjJ&Jq0-&5VEkmu{I)5%E32^4itUiJ7}z+VH0qT^Twc6rPG(y=|aRzqfH=H?W8 zu=b6L2=la3=bR;9_2>VNqV~72jSdG9$8vRNwkSVmXck;)J`Q|y00000NkvXXu0mjf DIKM`$ diff --git a/doc/api/tab_s.png b/doc/api/tab_s.png index ab478c95b67371d700a20869f7de1ddd73522d50..8d36eef701f28f3037288ac442aa5c51ea79ed0d 100644 GIT binary patch delta 232 zcmdnN*upeHrJk`k$lZxy-8q?;3=9k`>5jgR3=A9lx&I`x0{NT;9+AZi419+{nDKc2 ziWH!rM2TxeNpOBzNqJ&XDnmhHW?qS2UTTSgiJpO;WsY&3A5cxHr;B5VM0oO#Et@$z zq#JiIcC1#c$W|2yXDBp0yxfne~?Eh#$}VWw#A#X5}y*ImR>p7w>|I*$;#J*(QWBU-~3)NAcu`m99J; fu99|JIhYt6E;@%E`^_Z+bOD2>tDnm{r-UW|)W%X% delta 156 zcmV;N0Av4z0=NN?B!7QNL_t(|0qxy^34%ZXK+&T=Q4$n|q#~N4C8kM{mx^YVHd`CC zNWLn{S^f~#UuRg?v)<^0000< KMNUMnLSTaND@V!z From 638eb14fcd10e06f48a585837269df77755936c3 Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Sun, 5 Jan 2020 15:51:05 +0100 Subject: [PATCH 07/16] - Added GLM_FORCE_QUAT_DATA_WXYZ to store quat data as w,x,y,z instead of x,y,z,w #983 --- glm/detail/type_quat.hpp | 12 ++++++++++-- manual.md | 6 ++++++ readme.md | 1 + 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/glm/detail/type_quat.hpp b/glm/detail/type_quat.hpp index 4d082fd7..4e7e618a 100644 --- a/glm/detail/type_quat.hpp +++ b/glm/detail/type_quat.hpp @@ -42,12 +42,20 @@ namespace glm # if GLM_LANG & GLM_LANG_CXXMS_FLAG union { - struct { T x, y, z, w;}; +# ifdef GLM_FORCE_QUAT_DATA_WXYZ + struct { T w, x, y, z; }; +# else + struct { T x, y, z, w; }; +# endif typename detail::storage<4, T, detail::is_aligned::value>::type data; }; # else - T x, y, z, w; +# ifdef GLM_FORCE_QUAT_DATA_WXYZ + T x, y, z, w; +# else + T w, x, y, z; +# endif # endif # if GLM_SILENT_WARNINGS == GLM_ENABLE diff --git a/manual.md b/manual.md index 15d8120a..1d346417 100644 --- a/manual.md +++ b/manual.md @@ -35,6 +35,7 @@ + [2.18. GLM\_FORCE\_SIZE\_T\_LENGTH: Vector and matrix static size type](#section2_18) + [2.19. GLM\_FORCE\_UNRESTRICTED\_GENTYPE: Removing genType restriction](#section2_19) + [2.20. GLM\_FORCE\_SILENT\_WARNINGS: Silent C++ warnings from language extensions](#section2_20) ++ [2.21. GLM\_FORCE\_QUAT\_DATA\_WXYZ: Force GLM to store quat data as w,x,y,z instead of x,y,z,w](#section2_21) + [3. Stable extensions](#section3) + [3.1. Scalar types](#section3_1) + [3.2. Scalar functions](#section3_2) @@ -716,6 +717,11 @@ int average(int const A, int const B) When using /W4 on Visual C++ or -Wpedantic on GCC, for example, the compilers will generate warnings for using C++ language extensions (/Za with Visual C++) such as anonymous struct. GLM relies on anonymous structs for swizzle operators and aligned vector types. To silent those warnings define `GLM_FORCE_SILENT_WARNINGS` before including GLM headers. + +### 2.21. GLM\_FORCE\_QUAT\_DATA\_WXYZ: Force GLM to store quat data as w,x,y,z instead of x,y,z,w + +By default GLM store quaternion components with the x, y, z, w order. `GLM_FORCE_QUAT_DATA_WXYZ` allows switching the quaternion data storage to the w, x, y, z order. + ---
diff --git a/readme.md b/readme.md index 5397a4c1..931c716f 100644 --- a/readme.md +++ b/readme.md @@ -59,6 +59,7 @@ glm::mat4 camera(float Translate, glm::vec2 const& Rotate) - Added CMake GLM interface #963 - Added fma implementation based on std::fma #969 - Added missing quat constexpr #955 +- Added GLM_FORCE_QUAT_DATA_WXYZ to store quat data as w,x,y,z instead of x,y,z,w #983 #### Fixes: - Fixed equal ULP variation when using negative sign #965 From 85e491b30c09c833aa1afb618a4f945740a2e0fe Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Sun, 5 Jan 2020 20:41:51 +0100 Subject: [PATCH 08/16] Tentative fix of GLM_FORCE_QUAT_DATA_WXYZ on Clang with tests --- glm/detail/type_quat.inl | 39 +++++++++++++++++++++++------- test/core/CMakeLists.txt | 1 + test/core/core_force_quat_wxyz.cpp | 13 ++++++++++ 3 files changed, 44 insertions(+), 9 deletions(-) create mode 100644 test/core/core_force_quat_wxyz.cpp diff --git a/glm/detail/type_quat.inl b/glm/detail/type_quat.inl index c1824e0c..692f434d 100644 --- a/glm/detail/type_quat.inl +++ b/glm/detail/type_quat.inl @@ -90,32 +90,52 @@ namespace detail template GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua::qua() # if GLM_CONFIG_CTOR_INIT != GLM_CTOR_INIT_DISABLE - : x(0), y(0), z(0), w(1) +# ifdef GLM_FORCE_QUAT_DATA_WXYZ + : w(1), x(0), y(0), z(0) +# else + : x(0), y(0), z(0), w(1) +# endif # endif {} template GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua::qua(qua const& q) - : x(q.x), y(q.y), z(q.z), w(q.w) +# ifdef GLM_FORCE_QUAT_DATA_WXYZ + : w(q.w), x(q.x), y(q.y), z(q.z) +# else + : x(q.x), y(q.y), z(q.z), w(q.w) +# endif {} # endif template template GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua::qua(qua const& q) - : x(q.x), y(q.y), z(q.z), w(q.w) +# ifdef GLM_FORCE_QUAT_DATA_WXYZ + : w(q.w), x(q.x), y(q.y), z(q.z) +# else + : x(q.x), y(q.y), z(q.z), w(q.w) +# endif {} // -- Explicit basic constructors -- template GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua::qua(T s, vec<3, T, Q> const& v) - : x(v.x), y(v.y), z(v.z), w(s) +# ifdef GLM_FORCE_QUAT_DATA_WXYZ + : w(s), x(v.x), y(v.y), z(v.z) +# else + : x(v.x), y(v.y), z(v.z), w(s) +# endif {} template GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua::qua(T _w, T _x, T _y, T _z) - : x(_x), y(_y), z(_z), w(_w) +# ifdef GLM_FORCE_QUAT_DATA_WXYZ + : y(_y), z(_z), w(_w), x(_x) +# else + : x(_x), y(_y), z(_z), w(_w) +# endif {} // -- Conversion constructors -- @@ -123,10 +143,11 @@ namespace detail template template GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua::qua(qua const& q) - : x(static_cast(q.x)) - , y(static_cast(q.y)) - , z(static_cast(q.z)) - , w(static_cast(q.w)) +# ifdef GLM_FORCE_QUAT_DATA_WXYZ + : w(static_cast(q.w)), x(static_cast(q.x)), y(static_cast(q.y)), z(static_cast(q.z)) +# else + : x(static_cast(q.x)), y(static_cast(q.y)), z(static_cast(q.z)), w(static_cast(q.w)) +# endif {} //template diff --git a/test/core/CMakeLists.txt b/test/core/CMakeLists.txt index a1f1d0ff..935792b9 100644 --- a/test/core/CMakeLists.txt +++ b/test/core/CMakeLists.txt @@ -7,6 +7,7 @@ glmCreateTestGTC(core_force_inline) glmCreateTestGTC(core_force_pure) glmCreateTestGTC(core_force_unrestricted_gentype) glmCreateTestGTC(core_force_xyzw_only) +glmCreateTestGTC(core_force_quat_wxyz) glmCreateTestGTC(core_type_aligned) glmCreateTestGTC(core_type_cast) glmCreateTestGTC(core_type_ctor) diff --git a/test/core/core_force_quat_wxyz.cpp b/test/core/core_force_quat_wxyz.cpp new file mode 100644 index 00000000..bcb57394 --- /dev/null +++ b/test/core/core_force_quat_wxyz.cpp @@ -0,0 +1,13 @@ +#define GLM_FORCE_QUAT_DATA_WXYZ +#define GLM_FORCE_INLINE + +#include +#include + +int main() +{ + int Error = 0; + + return Error; +} + From 3ee3659adb0dcbe480317151fec3f613c198e0d0 Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Sun, 5 Jan 2020 20:57:20 +0100 Subject: [PATCH 09/16] Added force defines tests --- test/core/CMakeLists.txt | 7 +++++++ test/core/core_force_arch_unknown.cpp | 12 ++++++++++++ test/core/core_force_compiler_unknown.cpp | 12 ++++++++++++ test/core/core_force_cxx03.cpp | 12 ++++++++++++ test/core/core_force_cxx11.cpp | 12 ++++++++++++ test/core/core_force_cxx98.cpp | 12 ++++++++++++ test/core/core_force_cxx_unknown.cpp | 12 ++++++++++++ test/core/core_force_depth_zero_to_one.cpp | 12 ++++++++++++ test/core/core_force_left_handed.cpp | 12 ++++++++++++ test/core/core_force_platform_unknown.cpp | 12 ++++++++++++ test/core/core_force_size_t_length.cpp | 12 ++++++++++++ 11 files changed, 127 insertions(+) create mode 100644 test/core/core_force_arch_unknown.cpp create mode 100644 test/core/core_force_compiler_unknown.cpp create mode 100644 test/core/core_force_cxx03.cpp create mode 100644 test/core/core_force_cxx11.cpp create mode 100644 test/core/core_force_cxx98.cpp create mode 100644 test/core/core_force_cxx_unknown.cpp create mode 100644 test/core/core_force_depth_zero_to_one.cpp create mode 100644 test/core/core_force_left_handed.cpp create mode 100644 test/core/core_force_platform_unknown.cpp create mode 100644 test/core/core_force_size_t_length.cpp diff --git a/test/core/CMakeLists.txt b/test/core/CMakeLists.txt index 935792b9..3e47df2e 100644 --- a/test/core/CMakeLists.txt +++ b/test/core/CMakeLists.txt @@ -2,8 +2,15 @@ glmCreateTestGTC(core_cpp_constexpr) glmCreateTestGTC(core_cpp_defaulted_ctor) glmCreateTestGTC(core_force_aligned_gentypes) glmCreateTestGTC(core_force_ctor_init) +glmCreateTestGTC(core_force_cxx03) +glmCreateTestGTC(core_force_cxx11) +glmCreateTestGTC(core_force_cxx98) +glmCreateTestGTC(core_force_arch_unknown) +glmCreateTestGTC(core_force_compiler_unknown) +glmCreateTestGTC(core_force_cxx_unknown) glmCreateTestGTC(core_force_explicit_ctor) glmCreateTestGTC(core_force_inline) +glmCreateTestGTC(core_force_platform_unknown) glmCreateTestGTC(core_force_pure) glmCreateTestGTC(core_force_unrestricted_gentype) glmCreateTestGTC(core_force_xyzw_only) diff --git a/test/core/core_force_arch_unknown.cpp b/test/core/core_force_arch_unknown.cpp new file mode 100644 index 00000000..b8072ccd --- /dev/null +++ b/test/core/core_force_arch_unknown.cpp @@ -0,0 +1,12 @@ +#define GLM_FORCE_ARCH_UNKNOWN + +#include +#include + +int main() +{ + int Error = 0; + + return Error; +} + diff --git a/test/core/core_force_compiler_unknown.cpp b/test/core/core_force_compiler_unknown.cpp new file mode 100644 index 00000000..ca6f0e1e --- /dev/null +++ b/test/core/core_force_compiler_unknown.cpp @@ -0,0 +1,12 @@ +#define GLM_FORCE_COMPILER_UNKNOWN + +#include +#include + +int main() +{ + int Error = 0; + + return Error; +} + diff --git a/test/core/core_force_cxx03.cpp b/test/core/core_force_cxx03.cpp new file mode 100644 index 00000000..e71e00cd --- /dev/null +++ b/test/core/core_force_cxx03.cpp @@ -0,0 +1,12 @@ +#define GLM_FORCE_CXX03 + +#include +#include + +int main() +{ + int Error = 0; + + return Error; +} + diff --git a/test/core/core_force_cxx11.cpp b/test/core/core_force_cxx11.cpp new file mode 100644 index 00000000..610ea344 --- /dev/null +++ b/test/core/core_force_cxx11.cpp @@ -0,0 +1,12 @@ +#define GLM_FORCE_CXX11 + +#include +#include + +int main() +{ + int Error = 0; + + return Error; +} + diff --git a/test/core/core_force_cxx98.cpp b/test/core/core_force_cxx98.cpp new file mode 100644 index 00000000..56422e48 --- /dev/null +++ b/test/core/core_force_cxx98.cpp @@ -0,0 +1,12 @@ +#define GLM_FORCE_CXX98 + +#include +#include + +int main() +{ + int Error = 0; + + return Error; +} + diff --git a/test/core/core_force_cxx_unknown.cpp b/test/core/core_force_cxx_unknown.cpp new file mode 100644 index 00000000..61c5190c --- /dev/null +++ b/test/core/core_force_cxx_unknown.cpp @@ -0,0 +1,12 @@ +#define GLM_FORCE_CXX_UNKNOWN + +#include +#include + +int main() +{ + int Error = 0; + + return Error; +} + diff --git a/test/core/core_force_depth_zero_to_one.cpp b/test/core/core_force_depth_zero_to_one.cpp new file mode 100644 index 00000000..23b36159 --- /dev/null +++ b/test/core/core_force_depth_zero_to_one.cpp @@ -0,0 +1,12 @@ +#define GLM_FORCE_DEPTH_ZERO_TO_ONE + +#include +#include + +int main() +{ + int Error = 0; + + return Error; +} + diff --git a/test/core/core_force_left_handed.cpp b/test/core/core_force_left_handed.cpp new file mode 100644 index 00000000..b7ec31b5 --- /dev/null +++ b/test/core/core_force_left_handed.cpp @@ -0,0 +1,12 @@ +#define GLM_FORCE_LEFT_HANDED + +#include +#include + +int main() +{ + int Error = 0; + + return Error; +} + diff --git a/test/core/core_force_platform_unknown.cpp b/test/core/core_force_platform_unknown.cpp new file mode 100644 index 00000000..65110ad7 --- /dev/null +++ b/test/core/core_force_platform_unknown.cpp @@ -0,0 +1,12 @@ +#define GLM_FORCE_PLATFORM_UNKNOWN + +#include +#include + +int main() +{ + int Error = 0; + + return Error; +} + diff --git a/test/core/core_force_size_t_length.cpp b/test/core/core_force_size_t_length.cpp new file mode 100644 index 00000000..19dac897 --- /dev/null +++ b/test/core/core_force_size_t_length.cpp @@ -0,0 +1,12 @@ +#define GLM_FORCE_SIZE_T_LENGTH + +#include +#include + +int main() +{ + int Error = 0; + + return Error; +} + From 8381f8e71e9dae8bf16988bea0153f82fdf76773 Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Sun, 5 Jan 2020 21:02:56 +0100 Subject: [PATCH 10/16] Tentative fix of GLM_FORCE_QUAT_DATA_WXYZ on Clang with tests --- glm/detail/type_quat.inl | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/glm/detail/type_quat.inl b/glm/detail/type_quat.inl index 692f434d..3aefb3f8 100644 --- a/glm/detail/type_quat.inl +++ b/glm/detail/type_quat.inl @@ -74,14 +74,22 @@ namespace detail GLM_FUNC_QUALIFIER GLM_CONSTEXPR T & qua::operator[](typename qua::length_type i) { assert(i >= 0 && i < this->length()); - return (&x)[i]; +# ifdef GLM_FORCE_QUAT_DATA_WXYZ + return (&w)[i]; +# else + return (&x)[i]; +# endif } template GLM_FUNC_QUALIFIER GLM_CONSTEXPR T const& qua::operator[](typename qua::length_type i) const { assert(i >= 0 && i < this->length()); - return (&x)[i]; +# ifdef GLM_FORCE_QUAT_DATA_WXYZ + return (&w)[i]; +# else + return (&x)[i]; +# endif } // -- Implicit basic constructors -- From d92ac09ce29cce0e79bf404049433b8c6894c74e Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Sun, 5 Jan 2020 21:05:29 +0100 Subject: [PATCH 11/16] Tentative fix of GLM_FORCE_QUAT_DATA_WXYZ on Clang with tests --- glm/detail/type_quat.inl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/glm/detail/type_quat.inl b/glm/detail/type_quat.inl index 3aefb3f8..67b9310a 100644 --- a/glm/detail/type_quat.inl +++ b/glm/detail/type_quat.inl @@ -140,7 +140,7 @@ namespace detail template GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua::qua(T _w, T _x, T _y, T _z) # ifdef GLM_FORCE_QUAT_DATA_WXYZ - : y(_y), z(_z), w(_w), x(_x) + : w(_w), x(_x), y(_y), z(_z) # else : x(_x), y(_y), z(_z), w(_w) # endif From 2d8ccef1af84e679210e6ce94a737675a00bb859 Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Sun, 5 Jan 2020 21:07:42 +0100 Subject: [PATCH 12/16] Tentative fix of GLM_FORCE_QUAT_DATA_WXYZ on Clang with tests --- test/core/core_force_cxx_unknown.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/test/core/core_force_cxx_unknown.cpp b/test/core/core_force_cxx_unknown.cpp index 61c5190c..62299d6a 100644 --- a/test/core/core_force_cxx_unknown.cpp +++ b/test/core/core_force_cxx_unknown.cpp @@ -1,4 +1,6 @@ -#define GLM_FORCE_CXX_UNKNOWN +#ifndef GLM_FORCE_CXX_UNKNOWN +# define GLM_FORCE_CXX_UNKNOWN +#endif #include #include From a68949eba4f01dc96340133e579f4e74439e8b9b Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Sun, 5 Jan 2020 21:09:37 +0100 Subject: [PATCH 13/16] Fixed force cxx version tests --- test/core/core_force_cxx03.cpp | 4 +++- test/core/core_force_cxx11.cpp | 4 +++- test/core/core_force_cxx98.cpp | 4 +++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/test/core/core_force_cxx03.cpp b/test/core/core_force_cxx03.cpp index e71e00cd..fc6e9c5d 100644 --- a/test/core/core_force_cxx03.cpp +++ b/test/core/core_force_cxx03.cpp @@ -1,4 +1,6 @@ -#define GLM_FORCE_CXX03 +#ifndef GLM_FORCE_CXX03 +# define GLM_FORCE_CXX03 +#endif #include #include diff --git a/test/core/core_force_cxx11.cpp b/test/core/core_force_cxx11.cpp index 610ea344..cc57e08a 100644 --- a/test/core/core_force_cxx11.cpp +++ b/test/core/core_force_cxx11.cpp @@ -1,4 +1,6 @@ -#define GLM_FORCE_CXX11 +#ifndef GLM_FORCE_CXX11 +# define GLM_FORCE_CXX11 +#endif #include #include diff --git a/test/core/core_force_cxx98.cpp b/test/core/core_force_cxx98.cpp index 56422e48..42a5c259 100644 --- a/test/core/core_force_cxx98.cpp +++ b/test/core/core_force_cxx98.cpp @@ -1,4 +1,6 @@ -#define GLM_FORCE_CXX98 +#ifndef GLM_FORCE_CXX98 +# define GLM_FORCE_CXX98 +#endif #include #include From 79b5197e5d39c7ef411555c6c8dfb35f06616678 Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Sun, 5 Jan 2020 21:12:11 +0100 Subject: [PATCH 14/16] Fixed CXX tests --- test/core/CMakeLists.txt | 1 - test/core/core_force_cxx11.cpp | 14 -------------- 2 files changed, 15 deletions(-) delete mode 100644 test/core/core_force_cxx11.cpp diff --git a/test/core/CMakeLists.txt b/test/core/CMakeLists.txt index 3e47df2e..b8dd9683 100644 --- a/test/core/CMakeLists.txt +++ b/test/core/CMakeLists.txt @@ -3,7 +3,6 @@ glmCreateTestGTC(core_cpp_defaulted_ctor) glmCreateTestGTC(core_force_aligned_gentypes) glmCreateTestGTC(core_force_ctor_init) glmCreateTestGTC(core_force_cxx03) -glmCreateTestGTC(core_force_cxx11) glmCreateTestGTC(core_force_cxx98) glmCreateTestGTC(core_force_arch_unknown) glmCreateTestGTC(core_force_compiler_unknown) diff --git a/test/core/core_force_cxx11.cpp b/test/core/core_force_cxx11.cpp deleted file mode 100644 index cc57e08a..00000000 --- a/test/core/core_force_cxx11.cpp +++ /dev/null @@ -1,14 +0,0 @@ -#ifndef GLM_FORCE_CXX11 -# define GLM_FORCE_CXX11 -#endif - -#include -#include - -int main() -{ - int Error = 0; - - return Error; -} - From 028b303a657343228216518f0e576d050decd745 Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Sun, 5 Jan 2020 21:14:53 +0100 Subject: [PATCH 15/16] Fixed CXX tests --- test/core/core_force_arch_unknown.cpp | 4 +++- test/core/core_force_compiler_unknown.cpp | 4 +++- test/core/core_force_platform_unknown.cpp | 4 +++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/test/core/core_force_arch_unknown.cpp b/test/core/core_force_arch_unknown.cpp index b8072ccd..45b51bf0 100644 --- a/test/core/core_force_arch_unknown.cpp +++ b/test/core/core_force_arch_unknown.cpp @@ -1,4 +1,6 @@ -#define GLM_FORCE_ARCH_UNKNOWN +#ifndef GLM_FORCE_ARCH_UNKNOWN +# define GLM_FORCE_ARCH_UNKNOWN +#endif #include #include diff --git a/test/core/core_force_compiler_unknown.cpp b/test/core/core_force_compiler_unknown.cpp index ca6f0e1e..44d7fc33 100644 --- a/test/core/core_force_compiler_unknown.cpp +++ b/test/core/core_force_compiler_unknown.cpp @@ -1,4 +1,6 @@ -#define GLM_FORCE_COMPILER_UNKNOWN +#ifndef GLM_FORCE_COMPILER_UNKNOWN +# define GLM_FORCE_COMPILER_UNKNOWN +#endif #include #include diff --git a/test/core/core_force_platform_unknown.cpp b/test/core/core_force_platform_unknown.cpp index 65110ad7..fb7fa757 100644 --- a/test/core/core_force_platform_unknown.cpp +++ b/test/core/core_force_platform_unknown.cpp @@ -1,4 +1,6 @@ -#define GLM_FORCE_PLATFORM_UNKNOWN +#ifndef GLM_FORCE_PLATFORM_UNKNOWN +# define GLM_FORCE_PLATFORM_UNKNOWN +#endif #include #include From 13724cfae64a8b5313d1cabc9a963d2c9dbeda12 Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Sun, 5 Jan 2020 21:19:37 +0100 Subject: [PATCH 16/16] Tentative fix of GLM_FORCE_QUAT_DATA_WXYZ on Clang with tests --- glm/detail/type_quat.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/glm/detail/type_quat.hpp b/glm/detail/type_quat.hpp index 4e7e618a..0e60bc33 100644 --- a/glm/detail/type_quat.hpp +++ b/glm/detail/type_quat.hpp @@ -52,9 +52,9 @@ namespace glm }; # else # ifdef GLM_FORCE_QUAT_DATA_WXYZ - T x, y, z, w; -# else T w, x, y, z; +# else + T x, y, z, w; # endif # endif