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
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039 #ifndef GLM_GTX_random
00040 #define GLM_GTX_random GLM_VERSION
00041
00042
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 }
00104
00105 #include "random.inl"
00106
00107 #endif//GLM_GTX_random