浏览代码

Fixed build

Christophe Riccio 7 年之前
父节点
当前提交
1092810f2f
共有 5 个文件被更改,包括 1367 次插入148 次删除
  1. 28 0
      glm/gtc/quaternion.hpp
  2. 1326 136
      glm/gtc/type_precision.hpp
  3. 1 0
      glm/gtx/type_aligned.hpp
  4. 1 0
      test/gtc/gtc_random.cpp
  5. 11 12
      test/gtx/gtx_fast_square_root.cpp

+ 28 - 0
glm/gtc/quaternion.hpp

@@ -482,6 +482,34 @@ namespace glm
 	/// @see gtc_quaternion
 	typedef quat				fquat;
 
+	/// Quaternion of low double-qualifier floating-point numbers.
+	///
+	/// @see gtc_quaternion
+	typedef tquat<double, lowp>		lowp_dquat;
+
+	/// Quaternion of medium double-qualifier floating-point numbers.
+	///
+	/// @see gtc_quaternion
+	typedef tquat<double, mediump>	mediump_dquat;
+
+	/// Quaternion of high double-qualifier floating-point numbers.
+	///
+	/// @see gtc_quaternion
+	typedef tquat<double, highp>	highp_dquat;
+
+#if(defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE))
+	typedef highp_dquat			dquat;
+#elif(!defined(GLM_PRECISION_HIGHP_DOUBLE) && defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE))
+	typedef mediump_dquat		dquat;
+#elif(!defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && defined(GLM_PRECISION_LOWP_DOUBLE))
+	typedef lowp_dquat			dquat;
+#elif(!defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE))
+	/// Quaternion of default double-qualifier floating-point numbers.
+	///
+	/// @see gtc_quaternion
+	typedef highp_dquat			dquat;
+#endif
+
 	/// @}
 } //namespace glm
 

文件差异内容过多而无法显示
+ 1326 - 136
glm/gtc/type_precision.hpp


+ 1 - 0
glm/gtx/type_aligned.hpp

@@ -17,6 +17,7 @@
 
 // Dependency:
 #include "../gtc/type_precision.hpp"
+#include "../gtc/quaternion.hpp"
 
 #ifndef GLM_ENABLE_EXPERIMENTAL
 #	error "GLM: GLM_GTX_type_aligned is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."

+ 1 - 0
test/gtc/gtc_random.cpp

@@ -1,6 +1,7 @@
 #define GLM_FORCE_ALIGNED
 #include <glm/gtc/random.hpp>
 #include <glm/gtc/epsilon.hpp>
+#include <glm/gtc/type_precision.hpp>
 #if GLM_LANG & GLM_LANG_CXX0X_FLAG
 #	include <array>
 #endif

+ 11 - 12
test/gtx/gtx_fast_square_root.cpp

@@ -6,7 +6,7 @@
 
 int test_fastInverseSqrt()
 {
-	int Error(0);
+	int Error = 0;
 
 	Error += glm::epsilonEqual(glm::fastInverseSqrt(1.0f), 1.0f, 0.01f) ? 0 : 1;
 	Error += glm::epsilonEqual(glm::fastInverseSqrt(1.0), 1.0, 0.01) ? 0 : 1;
@@ -14,30 +14,29 @@ int test_fastInverseSqrt()
 	Error += glm::all(glm::epsilonEqual(glm::fastInverseSqrt(glm::dvec3(1.0)), glm::dvec3(1.0), 0.01)) ? 0 : 1;
 	Error += glm::all(glm::epsilonEqual(glm::fastInverseSqrt(glm::dvec4(1.0)), glm::dvec4(1.0), 0.01)) ? 0 : 1;
 
-	
 	return 0;
 }
 
 int test_fastDistance()
 {
-	int Error(0);
+	int Error = 0;
 
-	glm::mediump_f32 A = glm::fastDistance(glm::mediump_f32(0.0f), glm::mediump_f32(1.0f));
-	glm::mediump_f32 B = glm::fastDistance(glm::mediump_f32vec2(0.0f), glm::mediump_f32vec2(1.0f, 0.0f));
-	glm::mediump_f32 C = glm::fastDistance(glm::mediump_f32vec3(0.0f), glm::mediump_f32vec3(1.0f, 0.0f, 0.0f));
-	glm::mediump_f32 D = glm::fastDistance(glm::mediump_f32vec4(0.0f), glm::mediump_f32vec4(1.0f, 0.0f, 0.0f, 0.0f));
+	float const A = glm::fastDistance(0.0f, 1.0f);
+	float const B = glm::fastDistance(glm::vec2(0.0f), glm::vec2(1.0f, 0.0f));
+	float const C = glm::fastDistance(glm::vec3(0.0f), glm::vec3(1.0f, 0.0f, 0.0f));
+	float const D = glm::fastDistance(glm::vec4(0.0f), glm::vec4(1.0f, 0.0f, 0.0f, 0.0f));
 
-	Error += glm::epsilonEqual(A, glm::mediump_f32(1.0f), glm::mediump_f32(0.01f)) ? 0 : 1;
-	Error += glm::epsilonEqual(B, glm::mediump_f32(1.0f), glm::mediump_f32(0.01f)) ? 0 : 1;
-	Error += glm::epsilonEqual(C, glm::mediump_f32(1.0f), glm::mediump_f32(0.01f)) ? 0 : 1;
-	Error += glm::epsilonEqual(D, glm::mediump_f32(1.0f), glm::mediump_f32(0.01f)) ? 0 : 1;
+	Error += glm::epsilonEqual(A, 1.0f, 0.01f) ? 0 : 1;
+	Error += glm::epsilonEqual(B, 1.0f, 0.01f) ? 0 : 1;
+	Error += glm::epsilonEqual(C, 1.0f, 0.01f) ? 0 : 1;
+	Error += glm::epsilonEqual(D, 1.0f, 0.01f) ? 0 : 1;
 
 	return Error;
 }
 
 int main()
 {
-	int Error(0);
+	int Error = 0;
 
 	Error += test_fastInverseSqrt();
 	Error += test_fastDistance();

部分文件因为文件数量过多而无法显示