![]() |
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 00030 00031 00032 00033 00034 00035 00036 00037 00038 00039 #ifndef GLM_GTX_random 00040 #define GLM_GTX_random GLM_VERSION 00041 00042 // Dependency: 00043 #include "../glm.hpp" 00044 #include "../gtc/random.hpp" 00045 00046 #if(defined(GLM_MESSAGES) && !defined(glm_ext)) 00047 # pragma message("GLM: GLM_GTX_random extension included") 00048 #endif 00049 00050 namespace glm 00051 { 00054 00057 template <typename T> T signedRand1(); 00058 00059 template <> float signedRand1(); 00060 template <> double signedRand1(); 00061 template <typename T> detail::tvec2<T> signedRand2(); 00062 template <typename T> detail::tvec3<T> signedRand3(); 00063 template <typename T> detail::tvec4<T> signedRand4(); 00064 00065 template <typename T> detail::tvec2<T> normalizedRand2(); 00066 template <typename T> detail::tvec2<T> normalizedRand2(T Min, T Max); 00067 template <typename T> detail::tvec3<T> normalizedRand3(); 00068 template <typename T> detail::tvec3<T> normalizedRand3(T Min, T Max); 00069 00070 template <typename T> T compRand1(); 00071 template <> float compRand1(); 00072 template <> double compRand1(); 00073 template <typename T> T compRand1(T Min, T Max); 00074 template <typename T> detail::tvec2<T> compRand2(T Min, T Max); 00075 template <typename T> detail::tvec3<T> compRand3(T Min, T Max); 00076 template <typename T> detail::tvec4<T> compRand4(T Min, T Max); 00077 template <typename T> detail::tvec2<T> compRand2(const detail::tvec2<T>& Min, const detail::tvec2<T>& Max); 00078 template <typename T> detail::tvec3<T> compRand3(const detail::tvec3<T>& Min, const detail::tvec3<T>& Max); 00079 template <typename T> detail::tvec3<T> compRand4(const detail::tvec4<T>& Min, const detail::tvec4<T>& Max); 00080 00081 template <typename T> detail::tvec2<T> vecRand2(); 00082 template <typename T> detail::tvec2<T> vecRand2(T MinRadius, T MaxRadius); 00083 template <typename T> detail::tvec3<T> vecRand3(); 00084 template <typename T> detail::tvec3<T> vecRand3(T MinRadius, T MaxRadius); 00085 template <typename T> detail::tvec4<T> vecRand4(); 00086 template <typename T> detail::tvec4<T> vecRand4(T MinRadius, T MaxRadius); 00087 00088 template <typename T> T gaussRand1(T mean, T std_deviation); 00089 template <typename T> detail::tvec2<T> gaussRand2(T mean, T std_deviation); 00090 template <typename T> detail::tvec3<T> gaussRand3(T mean, T std_deviation); 00091 template <typename T> detail::tvec4<T> gaussRand4(T mean, T std_deviation); 00092 template <typename T> detail::tvec2<T> gaussRand2(const detail::tvec2<T>& mean, T std_deviation); 00093 template <typename T> detail::tvec3<T> gaussRand3(const detail::tvec3<T>& mean, T std_deviation); 00094 template <typename T> detail::tvec4<T> gaussRand4(const detail::tvec4<T>& mean, T std_deviation); 00095 template <typename T> detail::tvec2<T> gaussRand2(T mean, const detail::tvec2<T>& std_deviation); 00096 template <typename T> detail::tvec3<T> gaussRand3(T mean, const detail::tvec3<T>& std_deviation); 00097 template <typename T> detail::tvec4<T> gaussRand4(T mean, const detail::tvec4<T>& std_deviation); 00098 template <typename T> detail::tvec2<T> gaussRand2(const detail::tvec2<T>& mean, const detail::tvec2<T>& std_deviation); 00099 template <typename T> detail::tvec3<T> gaussRand3(const detail::tvec3<T>& mean, const detail::tvec3<T>& std_deviation); 00100 template <typename T> detail::tvec4<T> gaussRand4(const detail::tvec4<T>& mean, const detail::tvec4<T>& std_deviation); 00101 00103 }//namespace glm 00104 00105 #include "random.inl" 00106 00107 #endif//GLM_GTX_random
1.7.3