@ -2,17 +2,69 @@
// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)
///////////////////////////////////////////////////////////////////////////////////////////////////
// Created : 2011-01-15
// Updated : 2011-09-13
// Updated : 2011-11-14
// Licence : This source is under MIT licence
// File : test/gtx/func_geometric.cpp
///////////////////////////////////////////////////////////////////////////////////////////////////
# include <glm/glm.hpp>
int test_reflect ( )
{
int Error = 0 ;
{
glm : : vec2 A ( 1.0f , 0.0f ) ;
glm : : vec2 B ( 0.0f , 1.0f ) ;
glm : : vec2 C = glm : : reflect ( A , B ) ;
Error + = C = = glm : : vec2 ( - 1.0 , 0.0 ) ? 0 : 1 ;
}
{
glm : : dvec2 A ( 1.0f , 0.0f ) ;
glm : : dvec2 B ( 0.0f , 1.0f ) ;
glm : : dvec2 C = glm : : reflect ( A , B ) ;
Error + = C = = glm : : dvec2 ( - 1.0 , 0.0 ) ? 0 : 1 ;
}
return Error ;
}
int test_refract ( )
{
int Error = 0 ;
{
float A ( 1.0f ) ;
float B ( 1.0f ) ;
float C = glm : : refract ( A , B , 0.5f ) ;
Error + = C = = 1.0f ? 0 : 1 ;
}
{
glm : : vec2 A ( 1.0f , 0.0f ) ;
glm : : vec2 B ( 0.0f , 1.0f ) ;
glm : : vec2 C = glm : : refract ( A , B , 0.5f ) ;
Error + = C = = glm : : vec2 ( - 1.0 , 0.0 ) ? 0 : 1 ;
}
{
glm : : dvec2 A ( 1.0f , 0.0f ) ;
glm : : dvec2 B ( 0.0f , 1.0f ) ;
glm : : dvec2 C = glm : : refract ( A , B , 0.5 ) ;
Error + = C = = glm : : dvec2 ( - 1.0 , 0.0 ) ? 0 : 1 ;
}
return Error ;
}
int main ( )
{
int Failed = 0 ;
int Error ( 0 ) ;
Error + = test_reflect ( ) ;
Error + = test_refract ( ) ;
return Failed ;
return Error ;
}