00001 /* 00002 File: Noise.h 00003 00004 Copyright(C) C. Kotterink, Computed Graphics 00005 */ 00006 #ifndef NOISE_H 00007 #define NOISE_H 00008 00009 #include<Vertex3.h> 00010 00013 class Noise 00014 { 00015 public: 00016 Noise(); 00017 00019 real operator()(Vertex3 &p); 00020 00022 real turbulence(Vertex3 &p, real beta, unsigned int N = 10); 00023 00024 private: 00025 static const int S = 257; 00026 Vertex3 &latgrad(int i, int j, int k); 00027 00028 int shuffle[S]; 00029 Vertex3 randomSphere[S]; 00030 }; 00031 #endif