_noise.hpp
Go to the documentation of this file.
00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 
00027 
00028 
00029 #pragma once
00030 
00031 namespace glm{
00032 namespace detail
00033 {
00034         template <typename T>
00035         GLM_FUNC_QUALIFIER T mod289(T const & x)
00036         {
00037                 return x - floor(x * static_cast<T>(1.0) / static_cast<T>(289.0)) * static_cast<T>(289.0);
00038         }
00039 
00040         template <typename T>
00041         GLM_FUNC_QUALIFIER T permute(T const & x)
00042         {
00043                 return mod289(((x * static_cast<T>(34)) + static_cast<T>(1)) * x);
00044         }
00045 
00046         template <typename T, precision P>
00047         GLM_FUNC_QUALIFIER tvec2<T, P> permute(tvec2<T, P> const & x)
00048         {
00049                 return mod289(((x * static_cast<T>(34)) + static_cast<T>(1)) * x);
00050         }
00051         
00052         template <typename T, precision P>
00053         GLM_FUNC_QUALIFIER tvec3<T, P> permute(tvec3<T, P> const & x)
00054         {
00055                 return mod289(((x * static_cast<T>(34)) + static_cast<T>(1)) * x);
00056         }
00057         
00058         template <typename T, precision P>
00059         GLM_FUNC_QUALIFIER tvec4<T, P> permute(tvec4<T, P> const & x)
00060         {
00061                 return mod289(((x * static_cast<T>(34)) + static_cast<T>(1)) * x);
00062         }
00063 /*
00064         template <typename T, precision P, template<typename> class vecType>
00065         GLM_FUNC_QUALIFIER vecType<T, P> permute(vecType<T, P> const & x)
00066         {
00067                 return mod289(((x * T(34)) + T(1)) * x);
00068         }
00069 */
00070         template <typename T>
00071         GLM_FUNC_QUALIFIER T taylorInvSqrt(T const & r)
00072         {
00073                 return T(1.79284291400159) - T(0.85373472095314) * r;
00074         }
00075         
00076         template <typename T, precision P>
00077         GLM_FUNC_QUALIFIER detail::tvec2<T, P> taylorInvSqrt(detail::tvec2<T, P> const & r)
00078         {
00079                 return T(1.79284291400159) - T(0.85373472095314) * r;
00080         }
00081         
00082         template <typename T, precision P>
00083         GLM_FUNC_QUALIFIER detail::tvec3<T, P> taylorInvSqrt(detail::tvec3<T, P> const & r)
00084         {
00085                 return T(1.79284291400159) - T(0.85373472095314) * r;
00086         }
00087         
00088         template <typename T, precision P>
00089         GLM_FUNC_QUALIFIER detail::tvec4<T, P> taylorInvSqrt(detail::tvec4<T, P> const & r)
00090         {
00091                 return T(1.79284291400159) - T(0.85373472095314) * r;
00092         }
00093 /*
00094         template <typename T, precision P, template<typename> class vecType>
00095         GLM_FUNC_QUALIFIER vecType<T, P> taylorInvSqrt(vecType<T, P> const & r)
00096         {
00097                 return T(1.79284291400159) - T(0.85373472095314) * r;
00098         }
00099 */
00100         
00101         template <typename T, precision P>
00102         GLM_FUNC_QUALIFIER detail::tvec2<T, P> fade(detail::tvec2<T, P> const & t)
00103         {
00104                 return (t * t * t) * (t * (t * T(6) - T(15)) + T(10));
00105         }
00106         
00107         template <typename T, precision P>
00108         GLM_FUNC_QUALIFIER detail::tvec3<T, P> fade(detail::tvec3<T, P> const & t)
00109         {
00110                 return (t * t * t) * (t * (t * T(6) - T(15)) + T(10));
00111         }
00112         
00113         template <typename T, precision P>
00114         GLM_FUNC_QUALIFIER detail::tvec4<T, P> fade(detail::tvec4<T, P> const & t)
00115         {
00116                 return (t * t * t) * (t * (t * T(6) - T(15)) + T(10));
00117         }
00118 /*
00119         template <typename T, precision P, template <typename> class vecType>
00120         GLM_FUNC_QUALIFIER vecType<T, P> fade(vecType<T, P> const & t)
00121         {
00122                 return (t * t * t) * (t * (t * T(6) - T(15)) + T(10));
00123         }
00124 */
00125 }//namespace detail
00126 }//namespace glm
00127 


rtabmap
Author(s): Mathieu Labbe
autogenerated on Sat Jul 23 2016 11:44:15