You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and dots ('.'), can be up to 35 characters long. Letters must be lowercase.
		
		
		
		
		
			
		
			
				
					
					
						
							83 lines
						
					
					
						
							1.2 KiB
						
					
					
				
			
		
		
	
	
							83 lines
						
					
					
						
							1.2 KiB
						
					
					
				#define GLM_FORCE_MESSAGES | 
						|
#define GLM_FORCE_SWIZZLE | 
						|
#include <glm/glm.hpp> | 
						|
 | 
						|
#if !GLM_HAS_ONLY_XYZW | 
						|
 | 
						|
int test_ivec2_swizzle() | 
						|
{ | 
						|
	int Error = 0; | 
						|
 | 
						|
	glm::ivec2 A(1, 2); | 
						|
	glm::ivec2 B = A.yx(); | 
						|
	glm::ivec2 C = B.yx(); | 
						|
 | 
						|
	Error += A != B ? 0 : 1; | 
						|
	Error += A == C ? 0 : 1; | 
						|
 | 
						|
	return Error; | 
						|
} | 
						|
 | 
						|
int test_ivec3_swizzle() | 
						|
{ | 
						|
	int Error = 0; | 
						|
 | 
						|
	glm::ivec3 A(1, 2, 3); | 
						|
	glm::ivec3 B = A.zyx(); | 
						|
	glm::ivec3 C = B.zyx(); | 
						|
 | 
						|
	Error += A != B ? 0 : 1; | 
						|
	Error += A == C ? 0 : 1; | 
						|
 | 
						|
	return Error; | 
						|
} | 
						|
 | 
						|
int test_ivec4_swizzle() | 
						|
{ | 
						|
	int Error = 0; | 
						|
 | 
						|
	glm::ivec4 A(1, 2, 3, 4); | 
						|
	glm::ivec4 B = A.wzyx(); | 
						|
	glm::ivec4 C = B.wzyx(); | 
						|
 | 
						|
	Error += A != B ? 0 : 1; | 
						|
	Error += A == C ? 0 : 1; | 
						|
 | 
						|
	return Error; | 
						|
} | 
						|
 | 
						|
int test_vec4_swizzle() | 
						|
{ | 
						|
	int Error = 0; | 
						|
 | 
						|
	glm::vec4 A(1, 2, 3, 4); | 
						|
	glm::vec4 B = A.wzyx(); | 
						|
	glm::vec4 C = B.wzyx(); | 
						|
 | 
						|
	Error += A != B ? 0 : 1; | 
						|
	Error += A == C ? 0 : 1; | 
						|
 | 
						|
	float f = glm::dot(C.wzyx(), C.xyzw()); | 
						|
	Error += glm::abs(f - 20.f) < 0.01f ? 0 : 1; | 
						|
 | 
						|
	return Error; | 
						|
} | 
						|
#endif//!GLM_HAS_ONLY_XYZW | 
						|
 | 
						|
int main() | 
						|
{ | 
						|
	int Error = 0; | 
						|
 | 
						|
#	if !GLM_HAS_ONLY_XYZW | 
						|
		Error += test_ivec2_swizzle(); | 
						|
		Error += test_ivec3_swizzle(); | 
						|
		Error += test_ivec4_swizzle(); | 
						|
 | 
						|
		Error += test_vec4_swizzle(); | 
						|
#	endif//!GLM_HAS_ONLY_XYZW | 
						|
 | 
						|
	return Error; | 
						|
} | 
						|
 | 
						|
 | 
						|
 | 
						|
 |