44 #define HASHPNT(x, y, z) hashpntf + 3 * hash[(hash[(hash[(z)&255] + (y)) & 255] + (x)) & 255]
46 0.536902, 0.020915, 0.501445, 0.216316, 0.517036, 0.822466, 0.965315, 0.377313, 0.678764,
47 0.744545, 0.097731, 0.396357, 0.247202, 0.520897, 0.613396, 0.542124, 0.146813, 0.255489,
48 0.810868, 0.638641, 0.980742, 0.292316, 0.357948, 0.114382, 0.861377, 0.629634, 0.722530,
49 0.714103, 0.048549, 0.075668, 0.564920, 0.162026, 0.054466, 0.411738, 0.156897, 0.887657,
50 0.599368, 0.074249, 0.170277, 0.225799, 0.393154, 0.301348, 0.057434, 0.293849, 0.442745,
51 0.150002, 0.398732, 0.184582, 0.915200, 0.630984, 0.974040, 0.117228, 0.795520, 0.763238,
52 0.158982, 0.616211, 0.250825, 0.906539, 0.316874, 0.676205, 0.234720, 0.667673, 0.792225,
53 0.273671, 0.119363, 0.199131, 0.856716, 0.828554, 0.900718, 0.705960, 0.635923, 0.989433,
54 0.027261, 0.283507, 0.113426, 0.388115, 0.900176, 0.637741, 0.438802, 0.715490, 0.043692,
55 0.202640, 0.378325, 0.450325, 0.471832, 0.147803, 0.906899, 0.524178, 0.784981, 0.051483,
56 0.893369, 0.596895, 0.275635, 0.391483, 0.844673, 0.103061, 0.257322, 0.708390, 0.504091,
57 0.199517, 0.660339, 0.376071, 0.038880, 0.531293, 0.216116, 0.138672, 0.907737, 0.807994,
58 0.659582, 0.915264, 0.449075, 0.627128, 0.480173, 0.380942, 0.018843, 0.211808, 0.569701,
59 0.082294, 0.689488, 0.573060, 0.593859, 0.216080, 0.373159, 0.108117, 0.595539, 0.021768,
60 0.380297, 0.948125, 0.377833, 0.319699, 0.315249, 0.972805, 0.792270, 0.445396, 0.845323,
61 0.372186, 0.096147, 0.689405, 0.423958, 0.055675, 0.117940, 0.328456, 0.605808, 0.631768,
62 0.372170, 0.213723, 0.032700, 0.447257, 0.440661, 0.728488, 0.299853, 0.148599, 0.649212,
63 0.498381, 0.049921, 0.496112, 0.607142, 0.562595, 0.990246, 0.739659, 0.108633, 0.978156,
64 0.209814, 0.258436, 0.876021, 0.309260, 0.600673, 0.713597, 0.576967, 0.641402, 0.853930,
65 0.029173, 0.418111, 0.581593, 0.008394, 0.589904, 0.661574, 0.979326, 0.275724, 0.111109,
66 0.440472, 0.120839, 0.521602, 0.648308, 0.284575, 0.204501, 0.153286, 0.822444, 0.300786,
67 0.303906, 0.364717, 0.209038, 0.916831, 0.900245, 0.600685, 0.890002, 0.581660, 0.431154,
68 0.705569, 0.551250, 0.417075, 0.403749, 0.696652, 0.292652, 0.911372, 0.690922, 0.323718,
69 0.036773, 0.258976, 0.274265, 0.225076, 0.628965, 0.351644, 0.065158, 0.080340, 0.467271,
70 0.130643, 0.385914, 0.919315, 0.253821, 0.966163, 0.017439, 0.392610, 0.478792, 0.978185,
71 0.072691, 0.982009, 0.097987, 0.731533, 0.401233, 0.107570, 0.349587, 0.479122, 0.700598,
72 0.481751, 0.788429, 0.706864, 0.120086, 0.562691, 0.981797, 0.001223, 0.192120, 0.451543,
73 0.173092, 0.108960, 0.549594, 0.587892, 0.657534, 0.396365, 0.125153, 0.666420, 0.385823,
74 0.890916, 0.436729, 0.128114, 0.369598, 0.759096, 0.044677, 0.904752, 0.088052, 0.621148,
75 0.005047, 0.452331, 0.162032, 0.494238, 0.523349, 0.741829, 0.698450, 0.452316, 0.563487,
76 0.819776, 0.492160, 0.004210, 0.647158, 0.551475, 0.362995, 0.177937, 0.814722, 0.727729,
77 0.867126, 0.997157, 0.108149, 0.085726, 0.796024, 0.665075, 0.362462, 0.323124, 0.043718,
78 0.042357, 0.315030, 0.328954, 0.870845, 0.683186, 0.467922, 0.514894, 0.809971, 0.631979,
79 0.176571, 0.366320, 0.850621, 0.505555, 0.749551, 0.750830, 0.401714, 0.481216, 0.438393,
80 0.508832, 0.867971, 0.654581, 0.058204, 0.566454, 0.084124, 0.548539, 0.902690, 0.779571,
81 0.562058, 0.048082, 0.863109, 0.079290, 0.713559, 0.783496, 0.265266, 0.672089, 0.786939,
82 0.143048, 0.086196, 0.876129, 0.408708, 0.229312, 0.629995, 0.206665, 0.207308, 0.710079,
83 0.341704, 0.264921, 0.028748, 0.629222, 0.470173, 0.726228, 0.125243, 0.328249, 0.794187,
84 0.741340, 0.489895, 0.189396, 0.724654, 0.092841, 0.039809, 0.860126, 0.247701, 0.655331,
85 0.964121, 0.672536, 0.044522, 0.690567, 0.837238, 0.631520, 0.953734, 0.352484, 0.289026,
86 0.034152, 0.852575, 0.098454, 0.795529, 0.452181, 0.826159, 0.186993, 0.820725, 0.440328,
87 0.922137, 0.704592, 0.915437, 0.738183, 0.733461, 0.193798, 0.929213, 0.161390, 0.318547,
88 0.888751, 0.430968, 0.740837, 0.193544, 0.872253, 0.563074, 0.274598, 0.347805, 0.666176,
89 0.449831, 0.800991, 0.588727, 0.052296, 0.714761, 0.420620, 0.570325, 0.057550, 0.210888,
90 0.407312, 0.662848, 0.924382, 0.895958, 0.775198, 0.688605, 0.025721, 0.301913, 0.791408,
91 0.500602, 0.831984, 0.828509, 0.642093, 0.494174, 0.525880, 0.446365, 0.440063, 0.763114,
92 0.630358, 0.223943, 0.333806, 0.906033, 0.498306, 0.241278, 0.427640, 0.772683, 0.198082,
93 0.225379, 0.503894, 0.436599, 0.016503, 0.803725, 0.189878, 0.291095, 0.499114, 0.151573,
94 0.079031, 0.904618, 0.708535, 0.273900, 0.067419, 0.317124, 0.936499, 0.716511, 0.543845,
95 0.939909, 0.826574, 0.715090, 0.154864, 0.750150, 0.845808, 0.648108, 0.556564, 0.644757,
96 0.140873, 0.799167, 0.632989, 0.444245, 0.471978, 0.435910, 0.359793, 0.216241, 0.007633,
97 0.337236, 0.857863, 0.380247, 0.092517, 0.799973, 0.919000, 0.296798, 0.096989, 0.854831,
98 0.165369, 0.568475, 0.216855, 0.020457, 0.835511, 0.538039, 0.999742, 0.620226, 0.244053,
99 0.060399, 0.323007, 0.294874, 0.988899, 0.384919, 0.735655, 0.773428, 0.549776, 0.292882,
100 0.660611, 0.593507, 0.621118, 0.175269, 0.682119, 0.794493, 0.868197, 0.632150, 0.807823,
101 0.509656, 0.482035, 0.001780, 0.259126, 0.358002, 0.280263, 0.192985, 0.290367, 0.208111,
102 0.917633, 0.114422, 0.925491, 0.981110, 0.255570, 0.974862, 0.016629, 0.552599, 0.575741,
103 0.612978, 0.615965, 0.803615, 0.772334, 0.089745, 0.838812, 0.634542, 0.113709, 0.755832,
104 0.577589, 0.667489, 0.529834, 0.325660, 0.817597, 0.316557, 0.335093, 0.737363, 0.260951,
105 0.737073, 0.049540, 0.735541, 0.988891, 0.299116, 0.147695, 0.417271, 0.940811, 0.524160,
106 0.857968, 0.176403, 0.244835, 0.485759, 0.033353, 0.280319, 0.750688, 0.755809, 0.924208,
107 0.095956, 0.962504, 0.275584, 0.173715, 0.942716, 0.706721, 0.078464, 0.576716, 0.804667,
108 0.559249, 0.900611, 0.646904, 0.432111, 0.927885, 0.383277, 0.269973, 0.114244, 0.574867,
109 0.150703, 0.241855, 0.272871, 0.199950, 0.079719, 0.868566, 0.962833, 0.789122, 0.320025,
110 0.905554, 0.234876, 0.991356, 0.061913, 0.732911, 0.785960, 0.874074, 0.069035, 0.658632,
111 0.309901, 0.023676, 0.791603, 0.764661, 0.661278, 0.319583, 0.829650, 0.117091, 0.903124,
112 0.982098, 0.161631, 0.193576, 0.670428, 0.857390, 0.003760, 0.572578, 0.222162, 0.114551,
113 0.420118, 0.530404, 0.470682, 0.525527, 0.764281, 0.040596, 0.443275, 0.501124, 0.816161,
114 0.417467, 0.332172, 0.447565, 0.614591, 0.559246, 0.805295, 0.226342, 0.155065, 0.714630,
115 0.160925, 0.760001, 0.453456, 0.093869, 0.406092, 0.264801, 0.720370, 0.743388, 0.373269,
116 0.403098, 0.911923, 0.897249, 0.147038, 0.753037, 0.516093, 0.739257, 0.175018, 0.045768,
117 0.735857, 0.801330, 0.927708, 0.240977, 0.591870, 0.921831, 0.540733, 0.149100, 0.423152,
118 0.806876, 0.397081, 0.061100, 0.811630, 0.044899, 0.460915, 0.961202, 0.822098, 0.971524,
119 0.867608, 0.773604, 0.226616, 0.686286, 0.926972, 0.411613, 0.267873, 0.081937, 0.226124,
120 0.295664, 0.374594, 0.533240, 0.237876, 0.669629, 0.599083, 0.513081, 0.878719, 0.201577,
121 0.721296, 0.495038, 0.079760, 0.965959, 0.233090, 0.052496, 0.714748, 0.887844, 0.308724,
122 0.972885, 0.723337, 0.453089, 0.914474, 0.704063, 0.823198, 0.834769, 0.906561, 0.919600,
123 0.100601, 0.307564, 0.901977, 0.468879, 0.265376, 0.885188, 0.683875, 0.868623, 0.081032,
124 0.466835, 0.199087, 0.663437, 0.812241, 0.311337, 0.821361, 0.356628, 0.898054, 0.160781,
125 0.222539, 0.714889, 0.490287, 0.984915, 0.951755, 0.964097, 0.641795, 0.815472, 0.852732,
126 0.862074, 0.051108, 0.440139, 0.323207, 0.517171, 0.562984, 0.115295, 0.743103, 0.977914,
127 0.337596, 0.440694, 0.535879, 0.959427, 0.351427, 0.704361, 0.010826, 0.131162, 0.577080,
128 0.349572, 0.774892, 0.425796, 0.072697, 0.500001, 0.267322, 0.909654, 0.206176, 0.223987,
129 0.937698, 0.323423, 0.117501, 0.490308, 0.474372, 0.689943, 0.168671, 0.719417, 0.188928,
130 0.330464, 0.265273, 0.446271, 0.171933, 0.176133, 0.474616, 0.140182, 0.114246, 0.905043,
131 0.713870, 0.555261, 0.951333,
136 0xA2, 0xA0, 0x19, 0x3B, 0xF8, 0xEB, 0xAA, 0xEE, 0xF3, 0x1C, 0x67, 0x28, 0x1D, 0xED, 0x0, 0xDE,
137 0x95, 0x2E, 0xDC, 0x3F, 0x3A, 0x82, 0x35, 0x4D, 0x6C, 0xBA, 0x36, 0xD0, 0xF6, 0xC, 0x79, 0x32,
138 0xD1, 0x59, 0xF4, 0x8, 0x8B, 0x63, 0x89, 0x2F, 0xB8, 0xB4, 0x97, 0x83, 0xF2, 0x8F, 0x18, 0xC7,
139 0x51, 0x14, 0x65, 0x87, 0x48, 0x20, 0x42, 0xA8, 0x80, 0xB5, 0x40, 0x13, 0xB2, 0x22, 0x7E, 0x57,
140 0xBC, 0x7F, 0x6B, 0x9D, 0x86, 0x4C, 0xC8, 0xDB, 0x7C, 0xD5, 0x25, 0x4E, 0x5A, 0x55, 0x74, 0x50,
141 0xCD, 0xB3, 0x7A, 0xBB, 0xC3, 0xCB, 0xB6, 0xE2, 0xE4, 0xEC, 0xFD, 0x98, 0xB, 0x96, 0xD3, 0x9E,
142 0x5C, 0xA1, 0x64, 0xF1, 0x81, 0x61, 0xE1, 0xC4, 0x24, 0x72, 0x49, 0x8C, 0x90, 0x4B, 0x84, 0x34,
143 0x38, 0xAB, 0x78, 0xCA, 0x1F, 0x1, 0xD7, 0x93, 0x11, 0xC1, 0x58, 0xA9, 0x31, 0xF9, 0x44, 0x6D,
144 0xBF, 0x33, 0x9C, 0x5F, 0x9, 0x94, 0xA3, 0x85, 0x6, 0xC6, 0x9A, 0x1E, 0x7B, 0x46, 0x15, 0x30,
145 0x27, 0x2B, 0x1B, 0x71, 0x3C, 0x5B, 0xD6, 0x6F, 0x62, 0xAC, 0x4F, 0xC2, 0xC0, 0xE, 0xB1, 0x23,
146 0xA7, 0xDF, 0x47, 0xB0, 0x77, 0x69, 0x5, 0xE9, 0xE6, 0xE7, 0x76, 0x73, 0xF, 0xFE, 0x6E, 0x9B,
147 0x56, 0xEF, 0x12, 0xA5, 0x37, 0xFC, 0xAE, 0xD9, 0x3, 0x8E, 0xDD, 0x10, 0xB9, 0xCE, 0xC9, 0x8D,
148 0xDA, 0x2A, 0xBD, 0x68, 0x17, 0x9F, 0xBE, 0xD4, 0xA, 0xCC, 0xD2, 0xE8, 0x43, 0x3D, 0x70, 0xB7,
149 0x2, 0x7D, 0x99, 0xD8, 0xD, 0x60, 0x8A, 0x4, 0x2C, 0x3E, 0x92, 0xE5, 0xAF, 0x53, 0x7, 0xE0,
150 0x29, 0xA6, 0xC5, 0xE3, 0xF5, 0xF7, 0x4A, 0x41, 0x26, 0x6A, 0x16, 0x5E, 0x52, 0x2D, 0x21, 0xAD,
151 0xF0, 0x91, 0xFF, 0xEA, 0x54, 0xFA, 0x66, 0x1A, 0x45, 0x39, 0xCF, 0x75, 0xA4, 0x88, 0xFB, 0x5D,
152 0xA2, 0xA0, 0x19, 0x3B, 0xF8, 0xEB, 0xAA, 0xEE, 0xF3, 0x1C, 0x67, 0x28, 0x1D, 0xED, 0x0, 0xDE,
153 0x95, 0x2E, 0xDC, 0x3F, 0x3A, 0x82, 0x35, 0x4D, 0x6C, 0xBA, 0x36, 0xD0, 0xF6, 0xC, 0x79, 0x32,
154 0xD1, 0x59, 0xF4, 0x8, 0x8B, 0x63, 0x89, 0x2F, 0xB8, 0xB4, 0x97, 0x83, 0xF2, 0x8F, 0x18, 0xC7,
155 0x51, 0x14, 0x65, 0x87, 0x48, 0x20, 0x42, 0xA8, 0x80, 0xB5, 0x40, 0x13, 0xB2, 0x22, 0x7E, 0x57,
156 0xBC, 0x7F, 0x6B, 0x9D, 0x86, 0x4C, 0xC8, 0xDB, 0x7C, 0xD5, 0x25, 0x4E, 0x5A, 0x55, 0x74, 0x50,
157 0xCD, 0xB3, 0x7A, 0xBB, 0xC3, 0xCB, 0xB6, 0xE2, 0xE4, 0xEC, 0xFD, 0x98, 0xB, 0x96, 0xD3, 0x9E,
158 0x5C, 0xA1, 0x64, 0xF1, 0x81, 0x61, 0xE1, 0xC4, 0x24, 0x72, 0x49, 0x8C, 0x90, 0x4B, 0x84, 0x34,
159 0x38, 0xAB, 0x78, 0xCA, 0x1F, 0x1, 0xD7, 0x93, 0x11, 0xC1, 0x58, 0xA9, 0x31, 0xF9, 0x44, 0x6D,
160 0xBF, 0x33, 0x9C, 0x5F, 0x9, 0x94, 0xA3, 0x85, 0x6, 0xC6, 0x9A, 0x1E, 0x7B, 0x46, 0x15, 0x30,
161 0x27, 0x2B, 0x1B, 0x71, 0x3C, 0x5B, 0xD6, 0x6F, 0x62, 0xAC, 0x4F, 0xC2, 0xC0, 0xE, 0xB1, 0x23,
162 0xA7, 0xDF, 0x47, 0xB0, 0x77, 0x69, 0x5, 0xE9, 0xE6, 0xE7, 0x76, 0x73, 0xF, 0xFE, 0x6E, 0x9B,
163 0x56, 0xEF, 0x12, 0xA5, 0x37, 0xFC, 0xAE, 0xD9, 0x3, 0x8E, 0xDD, 0x10, 0xB9, 0xCE, 0xC9, 0x8D,
164 0xDA, 0x2A, 0xBD, 0x68, 0x17, 0x9F, 0xBE, 0xD4, 0xA, 0xCC, 0xD2, 0xE8, 0x43, 0x3D, 0x70, 0xB7,
165 0x2, 0x7D, 0x99, 0xD8, 0xD, 0x60, 0x8A, 0x4, 0x2C, 0x3E, 0x92, 0xE5, 0xAF, 0x53, 0x7, 0xE0,
166 0x29, 0xA6, 0xC5, 0xE3, 0xF5, 0xF7, 0x4A, 0x41, 0x26, 0x6A, 0x16, 0x5E, 0x52, 0x2D, 0x21, 0xAD,
167 0xF0, 0x91, 0xFF, 0xEA, 0x54, 0xFA, 0x66, 0x1A, 0x45, 0x39, 0xCF, 0x75, 0xA4, 0x88, 0xFB, 0x5D,
169 #define hash BLI_noise_hash_uchar_512
172 0.33783, 0.715698, -0.611206, -0.944031, -0.326599, -0.045624, -0.101074, -0.416443,
173 -0.903503, 0.799286, 0.49411, -0.341949, -0.854645, 0.518036, 0.033936, 0.42514,
174 -0.437866, -0.792114, -0.358948, 0.597046, 0.717377, -0.985413, 0.144714, 0.089294,
175 -0.601776, -0.33728, -0.723907, -0.449921, 0.594513, 0.666382, 0.208313, -0.10791,
176 0.972076, 0.575317, 0.060425, 0.815643, 0.293365, -0.875702, -0.383453, 0.293762,
177 0.465759, 0.834686, -0.846008, -0.233398, -0.47934, -0.115814, 0.143036, -0.98291,
178 0.204681, -0.949036, -0.239532, 0.946716, -0.263947, 0.184326, -0.235596, 0.573822,
179 0.784332, 0.203705, -0.372253, -0.905487, 0.756989, -0.651031, 0.055298, 0.497803,
180 0.814697, -0.297363, -0.16214, 0.063995, -0.98468, -0.329254, 0.834381, 0.441925,
181 0.703827, -0.527039, -0.476227, 0.956421, 0.266113, 0.119781, 0.480133, 0.482849,
182 0.7323, -0.18631, 0.961212, -0.203125, -0.748474, -0.656921, -0.090393, -0.085052,
183 -0.165253, 0.982544, -0.76947, 0.628174, -0.115234, 0.383148, 0.537659, 0.751068,
184 0.616486, -0.668488, -0.415924, -0.259979, -0.630005, 0.73175, 0.570953, -0.087952,
185 0.816223, -0.458008, 0.023254, 0.888611, -0.196167, 0.976563, -0.088287, -0.263885,
186 -0.69812, -0.665527, 0.437134, -0.892273, -0.112793, -0.621674, -0.230438, 0.748566,
187 0.232422, 0.900574, -0.367249, 0.22229, -0.796143, 0.562744, -0.665497, -0.73764,
188 0.11377, 0.670135, 0.704803, 0.232605, 0.895599, 0.429749, -0.114655, -0.11557,
189 -0.474243, 0.872742, 0.621826, 0.604004, -0.498444, -0.832214, 0.012756, 0.55426,
190 -0.702484, 0.705994, -0.089661, -0.692017, 0.649292, 0.315399, -0.175995, -0.977997,
191 0.111877, 0.096954, -0.04953, 0.994019, 0.635284, -0.606689, -0.477783, -0.261261,
192 -0.607422, -0.750153, 0.983276, 0.165436, 0.075958, -0.29837, 0.404083, -0.864655,
193 -0.638672, 0.507721, 0.578156, 0.388214, 0.412079, 0.824249, 0.556183, -0.208832,
194 0.804352, 0.778442, 0.562012, 0.27951, -0.616577, 0.781921, -0.091522, 0.196289,
195 0.051056, 0.979187, -0.121216, 0.207153, -0.970734, -0.173401, -0.384735, 0.906555,
196 0.161499, -0.723236, -0.671387, 0.178497, -0.006226, -0.983887, -0.126038, 0.15799,
197 0.97934, 0.830475, -0.024811, 0.556458, -0.510132, -0.76944, 0.384247, 0.81424,
198 0.200104, -0.544891, -0.112549, -0.393311, -0.912445, 0.56189, 0.152222, -0.813049,
199 0.198914, -0.254517, -0.946381, -0.41217, 0.690979, -0.593811, -0.407257, 0.324524,
200 0.853668, -0.690186, 0.366119, -0.624115, -0.428345, 0.844147, -0.322296, -0.21228,
201 -0.297546, -0.930756, -0.273071, 0.516113, 0.811798, 0.928314, 0.371643, 0.007233,
202 0.785828, -0.479218, -0.390778, -0.704895, 0.058929, 0.706818, 0.173248, 0.203583,
203 0.963562, 0.422211, -0.904297, -0.062469, -0.363312, -0.182465, 0.913605, 0.254028,
204 -0.552307, -0.793945, -0.28891, -0.765747, -0.574554, 0.058319, 0.291382, 0.954803,
205 0.946136, -0.303925, 0.111267, -0.078156, 0.443695, -0.892731, 0.182098, 0.89389,
206 0.409515, -0.680298, -0.213318, 0.701141, 0.062469, 0.848389, -0.525635, -0.72879,
207 -0.641846, 0.238342, -0.88089, 0.427673, 0.202637, -0.532501, -0.21405, 0.818878,
208 0.948975, -0.305084, 0.07962, 0.925446, 0.374664, 0.055817, 0.820923, 0.565491,
209 0.079102, 0.25882, 0.099792, -0.960724, -0.294617, 0.910522, 0.289978, 0.137115,
210 0.320038, -0.937408, -0.908386, 0.345276, -0.235718, -0.936218, 0.138763, 0.322754,
211 0.366577, 0.925934, -0.090637, 0.309296, -0.686829, -0.657684, 0.66983, 0.024445,
212 0.742065, -0.917999, -0.059113, -0.392059, 0.365509, 0.462158, -0.807922, 0.083374,
213 0.996399, -0.014801, 0.593842, 0.253143, -0.763672, 0.974976, -0.165466, 0.148285,
214 0.918976, 0.137299, 0.369537, 0.294952, 0.694977, 0.655731, 0.943085, 0.152618,
215 -0.295319, 0.58783, -0.598236, 0.544495, 0.203796, 0.678223, 0.705994, -0.478821,
216 -0.661011, 0.577667, 0.719055, -0.1698, -0.673828, -0.132172, -0.965332, 0.225006,
217 -0.981873, -0.14502, 0.121979, 0.763458, 0.579742, 0.284546, -0.893188, 0.079681,
218 0.442474, -0.795776, -0.523804, 0.303802, 0.734955, 0.67804, -0.007446, 0.15506,
219 0.986267, -0.056183, 0.258026, 0.571503, -0.778931, -0.681549, -0.702087, -0.206116,
220 -0.96286, -0.177185, 0.203613, -0.470978, -0.515106, 0.716095, -0.740326, 0.57135,
221 0.354095, -0.56012, -0.824982, -0.074982, -0.507874, 0.753204, 0.417969, -0.503113,
222 0.038147, 0.863342, 0.594025, 0.673553, -0.439758, -0.119873, -0.005524, -0.992737,
223 0.098267, -0.213776, 0.971893, -0.615631, 0.643951, 0.454163, 0.896851, -0.441071,
224 0.032166, -0.555023, 0.750763, -0.358093, 0.398773, 0.304688, 0.864929, -0.722961,
225 0.303589, 0.620544, -0.63559, -0.621948, -0.457306, -0.293243, 0.072327, 0.953278,
226 -0.491638, 0.661041, -0.566772, -0.304199, -0.572083, -0.761688, 0.908081, -0.398956,
227 0.127014, -0.523621, -0.549683, -0.650848, -0.932922, -0.19986, 0.299408, 0.099426,
228 0.140869, 0.984985, -0.020325, -0.999756, -0.002319, 0.952667, 0.280853, -0.11615,
229 -0.971893, 0.082581, 0.220337, 0.65921, 0.705292, -0.260651, 0.733063, -0.175537,
230 0.657043, -0.555206, 0.429504, -0.712189, 0.400421, -0.89859, 0.179352, 0.750885,
231 -0.19696, 0.630341, 0.785675, -0.569336, 0.241821, -0.058899, -0.464111, 0.883789,
232 0.129608, -0.94519, 0.299622, -0.357819, 0.907654, 0.219238, -0.842133, -0.439117,
233 -0.312927, -0.313477, 0.84433, 0.434479, -0.241211, 0.053253, 0.968994, 0.063873,
234 0.823273, 0.563965, 0.476288, 0.862152, -0.172516, 0.620941, -0.298126, 0.724915,
235 0.25238, -0.749359, -0.612122, -0.577545, 0.386566, 0.718994, -0.406342, -0.737976,
236 0.538696, 0.04718, 0.556305, 0.82959, -0.802856, 0.587463, 0.101166, -0.707733,
237 -0.705963, 0.026428, 0.374908, 0.68457, 0.625092, 0.472137, 0.208405, -0.856506,
238 -0.703064, -0.581085, -0.409821, -0.417206, -0.736328, 0.532623, -0.447876, -0.20285,
239 -0.870728, 0.086945, -0.990417, 0.107086, 0.183685, 0.018341, -0.982788, 0.560638,
240 -0.428864, 0.708282, 0.296722, -0.952576, -0.0672, 0.135773, 0.990265, 0.030243,
241 -0.068787, 0.654724, 0.752686, 0.762604, -0.551758, 0.337585, -0.819611, -0.407684,
242 0.402466, -0.727844, -0.55072, -0.408539, -0.855774, -0.480011, 0.19281, 0.693176,
243 -0.079285, 0.716339, 0.226013, 0.650116, -0.725433, 0.246704, 0.953369, -0.173553,
244 -0.970398, -0.239227, -0.03244, 0.136383, -0.394318, 0.908752, 0.813232, 0.558167,
245 0.164368, 0.40451, 0.549042, -0.731323, -0.380249, -0.566711, 0.730865, 0.022156,
246 0.932739, 0.359741, 0.00824, 0.996552, -0.082306, 0.956635, -0.065338, -0.283722,
247 -0.743561, 0.008209, 0.668579, -0.859589, -0.509674, 0.035767, -0.852234, 0.363678,
248 -0.375977, -0.201965, -0.970795, -0.12915, 0.313477, 0.947327, 0.06546, -0.254028,
249 -0.528259, 0.81015, 0.628052, 0.601105, 0.49411, -0.494385, 0.868378, 0.037933,
250 0.275635, -0.086426, 0.957336, -0.197937, 0.468903, -0.860748, 0.895599, 0.399384,
251 0.195801, 0.560791, 0.825012, -0.069214, 0.304199, -0.849487, 0.43103, 0.096375,
252 0.93576, 0.339111, -0.051422, 0.408966, -0.911072, 0.330444, 0.942841, -0.042389,
253 -0.452362, -0.786407, 0.420563, 0.134308, -0.933472, -0.332489, 0.80191, -0.566711,
254 -0.188934, -0.987946, -0.105988, 0.112518, -0.24408, 0.892242, -0.379791, -0.920502,
255 0.229095, -0.316376, 0.7789, 0.325958, 0.535706, -0.912872, 0.185211, -0.36377,
256 -0.184784, 0.565369, -0.803833, -0.018463, 0.119537, 0.992615, -0.259247, -0.935608,
257 0.239532, -0.82373, -0.449127, -0.345947, -0.433105, 0.659515, 0.614349, -0.822754,
258 0.378845, -0.423676, 0.687195, -0.674835, -0.26889, -0.246582, -0.800842, 0.545715,
259 -0.729187, -0.207794, 0.651978, 0.653534, -0.610443, -0.447388, 0.492584, -0.023346,
260 0.869934, 0.609039, 0.009094, -0.79306, 0.962494, -0.271088, -0.00885, 0.2659,
261 -0.004913, 0.963959, 0.651245, 0.553619, -0.518951, 0.280548, -0.84314, 0.458618,
262 -0.175293, -0.983215, 0.049805, 0.035339, -0.979919, 0.196045, -0.982941, 0.164307,
263 -0.082245, 0.233734, -0.97226, -0.005005, -0.747253, -0.611328, 0.260437, 0.645599,
264 0.592773, 0.481384, 0.117706, -0.949524, -0.29068, -0.535004, -0.791901, -0.294312,
265 -0.627167, -0.214447, 0.748718, -0.047974, -0.813477, -0.57959, -0.175537, 0.477264,
266 -0.860992, 0.738556, -0.414246, -0.53183, 0.562561, -0.704071, 0.433289, -0.754944,
267 0.64801, -0.100586, 0.114716, 0.044525, -0.992371, 0.966003, 0.244873, -0.082764,
278 return (
a +
t * (b -
a));
283 return (
t *
t *
t * (
t * (
t * 6.0f - 15.0f) + 10.0f));
288 int h = hash_val & 15;
289 float u = h < 8 ?
x :
y;
290 float v = h < 4 ?
y : h == 12 || h == 14 ?
x :
z;
291 return ((h & 1) == 0 ? u : -u) + ((h & 2) == 0 ?
v : -
v);
297 int A, AA, AB,
B, BA,
BB;
299 int X = ((int)u) & 255;
300 int Y = ((int)
v) & 255;
301 int Z = ((int)
w) & 255;
346 float cn1, cn2, cn3, cn4, cn5, cn6, i;
348 float fx, fy, fz, ox, oy, oz, jx, jy, jz;
350 int ix, iy, iz, b00, b01, b10, b11, b20, b21;
375 cn1 = 1.0f - 3.0f * cn1 + 2.0f * cn1 * ox;
376 cn2 = 1.0f - 3.0f * cn2 + 2.0f * cn2 * oy;
377 cn3 = 1.0f - 3.0f * cn3 + 2.0f * cn3 * oz;
378 cn4 = 1.0f - 3.0f * cn4 - 2.0f * cn4 * jx;
379 cn5 = 1.0f - 3.0f * cn5 - 2.0f * cn5 * jy;
380 cn6 = 1.0f - 3.0f * cn6 - 2.0f * cn6 * jz;
382 b00 =
hash[
hash[ix & 255] + (iy & 255)];
383 b10 =
hash[
hash[(ix + 1) & 255] + (iy & 255)];
384 b01 =
hash[
hash[ix & 255] + ((iy + 1) & 255)];
385 b11 =
hash[
hash[(ix + 1) & 255] + ((iy + 1) & 255)];
388 b21 = (iz + 1) & 255;
391 i = (cn1 * cn2 * cn3);
393 n += i * (h[0] * ox + h[1] * oy + h[2] * oz);
395 i = (cn1 * cn2 * cn6);
397 n += i * (h[0] * ox + h[1] * oy + h[2] * jz);
399 i = (cn1 * cn5 * cn3);
401 n += i * (h[0] * ox + h[1] * jy + h[2] * oz);
403 i = (cn1 * cn5 * cn6);
405 n += i * (h[0] * ox + h[1] * jy + h[2] * jz);
409 n += i * (h[0] * jx + h[1] * oy + h[2] * oz);
413 n += i * (h[0] * jx + h[1] * oy + h[2] * jz);
417 n += i * (h[0] * jx + h[1] * jy + h[2] * oz);
419 i = (cn4 * cn5 * cn6);
421 n += i * (h[0] * jx + h[1] * jy + h[2] * jz);
441 if (noisesize == 0.0f) {
444 x = (1.0f +
x) / noisesize;
445 y = (1.0f +
y) / noisesize;
446 z = (1.0f +
z) / noisesize;
453 float s, d = 0.5, div = 1.0;
471 0xA2, 0xA0, 0x19, 0x3B, 0xF8, 0xEB, 0xAA, 0xEE, 0xF3, 0x1C, 0x67, 0x28, 0x1D, 0xED, 0x0, 0xDE,
472 0x95, 0x2E, 0xDC, 0x3F, 0x3A, 0x82, 0x35, 0x4D, 0x6C, 0xBA, 0x36, 0xD0, 0xF6, 0xC, 0x79, 0x32,
473 0xD1, 0x59, 0xF4, 0x8, 0x8B, 0x63, 0x89, 0x2F, 0xB8, 0xB4, 0x97, 0x83, 0xF2, 0x8F, 0x18, 0xC7,
474 0x51, 0x14, 0x65, 0x87, 0x48, 0x20, 0x42, 0xA8, 0x80, 0xB5, 0x40, 0x13, 0xB2, 0x22, 0x7E, 0x57,
475 0xBC, 0x7F, 0x6B, 0x9D, 0x86, 0x4C, 0xC8, 0xDB, 0x7C, 0xD5, 0x25, 0x4E, 0x5A, 0x55, 0x74, 0x50,
476 0xCD, 0xB3, 0x7A, 0xBB, 0xC3, 0xCB, 0xB6, 0xE2, 0xE4, 0xEC, 0xFD, 0x98, 0xB, 0x96, 0xD3, 0x9E,
477 0x5C, 0xA1, 0x64, 0xF1, 0x81, 0x61, 0xE1, 0xC4, 0x24, 0x72, 0x49, 0x8C, 0x90, 0x4B, 0x84, 0x34,
478 0x38, 0xAB, 0x78, 0xCA, 0x1F, 0x1, 0xD7, 0x93, 0x11, 0xC1, 0x58, 0xA9, 0x31, 0xF9, 0x44, 0x6D,
479 0xBF, 0x33, 0x9C, 0x5F, 0x9, 0x94, 0xA3, 0x85, 0x6, 0xC6, 0x9A, 0x1E, 0x7B, 0x46, 0x15, 0x30,
480 0x27, 0x2B, 0x1B, 0x71, 0x3C, 0x5B, 0xD6, 0x6F, 0x62, 0xAC, 0x4F, 0xC2, 0xC0, 0xE, 0xB1, 0x23,
481 0xA7, 0xDF, 0x47, 0xB0, 0x77, 0x69, 0x5, 0xE9, 0xE6, 0xE7, 0x76, 0x73, 0xF, 0xFE, 0x6E, 0x9B,
482 0x56, 0xEF, 0x12, 0xA5, 0x37, 0xFC, 0xAE, 0xD9, 0x3, 0x8E, 0xDD, 0x10, 0xB9, 0xCE, 0xC9, 0x8D,
483 0xDA, 0x2A, 0xBD, 0x68, 0x17, 0x9F, 0xBE, 0xD4, 0xA, 0xCC, 0xD2, 0xE8, 0x43, 0x3D, 0x70, 0xB7,
484 0x2, 0x7D, 0x99, 0xD8, 0xD, 0x60, 0x8A, 0x4, 0x2C, 0x3E, 0x92, 0xE5, 0xAF, 0x53, 0x7, 0xE0,
485 0x29, 0xA6, 0xC5, 0xE3, 0xF5, 0xF7, 0x4A, 0x41, 0x26, 0x6A, 0x16, 0x5E, 0x52, 0x2D, 0x21, 0xAD,
486 0xF0, 0x91, 0xFF, 0xEA, 0x54, 0xFA, 0x66, 0x1A, 0x45, 0x39, 0xCF, 0x75, 0xA4, 0x88, 0xFB, 0x5D,
487 0xA2, 0xA0, 0x19, 0x3B, 0xF8, 0xEB, 0xAA, 0xEE, 0xF3, 0x1C, 0x67, 0x28, 0x1D, 0xED, 0x0, 0xDE,
488 0x95, 0x2E, 0xDC, 0x3F, 0x3A, 0x82, 0x35, 0x4D, 0x6C, 0xBA, 0x36, 0xD0, 0xF6, 0xC, 0x79, 0x32,
489 0xD1, 0x59, 0xF4, 0x8, 0x8B, 0x63, 0x89, 0x2F, 0xB8, 0xB4, 0x97, 0x83, 0xF2, 0x8F, 0x18, 0xC7,
490 0x51, 0x14, 0x65, 0x87, 0x48, 0x20, 0x42, 0xA8, 0x80, 0xB5, 0x40, 0x13, 0xB2, 0x22, 0x7E, 0x57,
491 0xBC, 0x7F, 0x6B, 0x9D, 0x86, 0x4C, 0xC8, 0xDB, 0x7C, 0xD5, 0x25, 0x4E, 0x5A, 0x55, 0x74, 0x50,
492 0xCD, 0xB3, 0x7A, 0xBB, 0xC3, 0xCB, 0xB6, 0xE2, 0xE4, 0xEC, 0xFD, 0x98, 0xB, 0x96, 0xD3, 0x9E,
493 0x5C, 0xA1, 0x64, 0xF1, 0x81, 0x61, 0xE1, 0xC4, 0x24, 0x72, 0x49, 0x8C, 0x90, 0x4B, 0x84, 0x34,
494 0x38, 0xAB, 0x78, 0xCA, 0x1F, 0x1, 0xD7, 0x93, 0x11, 0xC1, 0x58, 0xA9, 0x31, 0xF9, 0x44, 0x6D,
495 0xBF, 0x33, 0x9C, 0x5F, 0x9, 0x94, 0xA3, 0x85, 0x6, 0xC6, 0x9A, 0x1E, 0x7B, 0x46, 0x15, 0x30,
496 0x27, 0x2B, 0x1B, 0x71, 0x3C, 0x5B, 0xD6, 0x6F, 0x62, 0xAC, 0x4F, 0xC2, 0xC0, 0xE, 0xB1, 0x23,
497 0xA7, 0xDF, 0x47, 0xB0, 0x77, 0x69, 0x5, 0xE9, 0xE6, 0xE7, 0x76, 0x73, 0xF, 0xFE, 0x6E, 0x9B,
498 0x56, 0xEF, 0x12, 0xA5, 0x37, 0xFC, 0xAE, 0xD9, 0x3, 0x8E, 0xDD, 0x10, 0xB9, 0xCE, 0xC9, 0x8D,
499 0xDA, 0x2A, 0xBD, 0x68, 0x17, 0x9F, 0xBE, 0xD4, 0xA, 0xCC, 0xD2, 0xE8, 0x43, 0x3D, 0x70, 0xB7,
500 0x2, 0x7D, 0x99, 0xD8, 0xD, 0x60, 0x8A, 0x4, 0x2C, 0x3E, 0x92, 0xE5, 0xAF, 0x53, 0x7, 0xE0,
501 0x29, 0xA6, 0xC5, 0xE3, 0xF5, 0xF7, 0x4A, 0x41, 0x26, 0x6A, 0x16, 0x5E, 0x52, 0x2D, 0x21, 0xAD,
502 0xF0, 0x91, 0xFF, 0xEA, 0x54, 0xFA, 0x66, 0x1A, 0x45, 0x39, 0xCF, 0x75, 0xA4, 0x88, 0xFB, 0x5D,
507 {0.33783, 0.715698, -0.611206}, {-0.944031, -0.326599, -0.045624},
508 {-0.101074, -0.416443, -0.903503}, {0.799286, 0.49411, -0.341949},
509 {-0.854645, 0.518036, 0.033936}, {0.42514, -0.437866, -0.792114},
510 {-0.358948, 0.597046, 0.717377}, {-0.985413, 0.144714, 0.089294},
511 {-0.601776, -0.33728, -0.723907}, {-0.449921, 0.594513, 0.666382},
512 {0.208313, -0.10791, 0.972076}, {0.575317, 0.060425, 0.815643},
513 {0.293365, -0.875702, -0.383453}, {0.293762, 0.465759, 0.834686},
514 {-0.846008, -0.233398, -0.47934}, {-0.115814, 0.143036, -0.98291},
515 {0.204681, -0.949036, -0.239532}, {0.946716, -0.263947, 0.184326},
516 {-0.235596, 0.573822, 0.784332}, {0.203705, -0.372253, -0.905487},
517 {0.756989, -0.651031, 0.055298}, {0.497803, 0.814697, -0.297363},
518 {-0.16214, 0.063995, -0.98468}, {-0.329254, 0.834381, 0.441925},
519 {0.703827, -0.527039, -0.476227}, {0.956421, 0.266113, 0.119781},
520 {0.480133, 0.482849, 0.7323}, {-0.18631, 0.961212, -0.203125},
521 {-0.748474, -0.656921, -0.090393}, {-0.085052, -0.165253, 0.982544},
522 {-0.76947, 0.628174, -0.115234}, {0.383148, 0.537659, 0.751068},
523 {0.616486, -0.668488, -0.415924}, {-0.259979, -0.630005, 0.73175},
524 {0.570953, -0.087952, 0.816223}, {-0.458008, 0.023254, 0.888611},
525 {-0.196167, 0.976563, -0.088287}, {-0.263885, -0.69812, -0.665527},
526 {0.437134, -0.892273, -0.112793}, {-0.621674, -0.230438, 0.748566},
527 {0.232422, 0.900574, -0.367249}, {0.22229, -0.796143, 0.562744},
528 {-0.665497, -0.73764, 0.11377}, {0.670135, 0.704803, 0.232605},
529 {0.895599, 0.429749, -0.114655}, {-0.11557, -0.474243, 0.872742},
530 {0.621826, 0.604004, -0.498444}, {-0.832214, 0.012756, 0.55426},
531 {-0.702484, 0.705994, -0.089661}, {-0.692017, 0.649292, 0.315399},
532 {-0.175995, -0.977997, 0.111877}, {0.096954, -0.04953, 0.994019},
533 {0.635284, -0.606689, -0.477783}, {-0.261261, -0.607422, -0.750153},
534 {0.983276, 0.165436, 0.075958}, {-0.29837, 0.404083, -0.864655},
535 {-0.638672, 0.507721, 0.578156}, {0.388214, 0.412079, 0.824249},
536 {0.556183, -0.208832, 0.804352}, {0.778442, 0.562012, 0.27951},
537 {-0.616577, 0.781921, -0.091522}, {0.196289, 0.051056, 0.979187},
538 {-0.121216, 0.207153, -0.970734}, {-0.173401, -0.384735, 0.906555},
539 {0.161499, -0.723236, -0.671387}, {0.178497, -0.006226, -0.983887},
540 {-0.126038, 0.15799, 0.97934}, {0.830475, -0.024811, 0.556458},
541 {-0.510132, -0.76944, 0.384247}, {0.81424, 0.200104, -0.544891},
542 {-0.112549, -0.393311, -0.912445}, {0.56189, 0.152222, -0.813049},
543 {0.198914, -0.254517, -0.946381}, {-0.41217, 0.690979, -0.593811},
544 {-0.407257, 0.324524, 0.853668}, {-0.690186, 0.366119, -0.624115},
545 {-0.428345, 0.844147, -0.322296}, {-0.21228, -0.297546, -0.930756},
546 {-0.273071, 0.516113, 0.811798}, {0.928314, 0.371643, 0.007233},
547 {0.785828, -0.479218, -0.390778}, {-0.704895, 0.058929, 0.706818},
548 {0.173248, 0.203583, 0.963562}, {0.422211, -0.904297, -0.062469},
549 {-0.363312, -0.182465, 0.913605}, {0.254028, -0.552307, -0.793945},
550 {-0.28891, -0.765747, -0.574554}, {0.058319, 0.291382, 0.954803},
551 {0.946136, -0.303925, 0.111267}, {-0.078156, 0.443695, -0.892731},
552 {0.182098, 0.89389, 0.409515}, {-0.680298, -0.213318, 0.701141},
553 {0.062469, 0.848389, -0.525635}, {-0.72879, -0.641846, 0.238342},
554 {-0.88089, 0.427673, 0.202637}, {-0.532501, -0.21405, 0.818878},
555 {0.948975, -0.305084, 0.07962}, {0.925446, 0.374664, 0.055817},
556 {0.820923, 0.565491, 0.079102}, {0.25882, 0.099792, -0.960724},
557 {-0.294617, 0.910522, 0.289978}, {0.137115, 0.320038, -0.937408},
558 {-0.908386, 0.345276, -0.235718}, {-0.936218, 0.138763, 0.322754},
559 {0.366577, 0.925934, -0.090637}, {0.309296, -0.686829, -0.657684},
560 {0.66983, 0.024445, 0.742065}, {-0.917999, -0.059113, -0.392059},
561 {0.365509, 0.462158, -0.807922}, {0.083374, 0.996399, -0.014801},
562 {0.593842, 0.253143, -0.763672}, {0.974976, -0.165466, 0.148285},
563 {0.918976, 0.137299, 0.369537}, {0.294952, 0.694977, 0.655731},
564 {0.943085, 0.152618, -0.295319}, {0.58783, -0.598236, 0.544495},
565 {0.203796, 0.678223, 0.705994}, {-0.478821, -0.661011, 0.577667},
566 {0.719055, -0.1698, -0.673828}, {-0.132172, -0.965332, 0.225006},
567 {-0.981873, -0.14502, 0.121979}, {0.763458, 0.579742, 0.284546},
568 {-0.893188, 0.079681, 0.442474}, {-0.795776, -0.523804, 0.303802},
569 {0.734955, 0.67804, -0.007446}, {0.15506, 0.986267, -0.056183},
570 {0.258026, 0.571503, -0.778931}, {-0.681549, -0.702087, -0.206116},
571 {-0.96286, -0.177185, 0.203613}, {-0.470978, -0.515106, 0.716095},
572 {-0.740326, 0.57135, 0.354095}, {-0.56012, -0.824982, -0.074982},
573 {-0.507874, 0.753204, 0.417969}, {-0.503113, 0.038147, 0.863342},
574 {0.594025, 0.673553, -0.439758}, {-0.119873, -0.005524, -0.992737},
575 {0.098267, -0.213776, 0.971893}, {-0.615631, 0.643951, 0.454163},
576 {0.896851, -0.441071, 0.032166}, {-0.555023, 0.750763, -0.358093},
577 {0.398773, 0.304688, 0.864929}, {-0.722961, 0.303589, 0.620544},
578 {-0.63559, -0.621948, -0.457306}, {-0.293243, 0.072327, 0.953278},
579 {-0.491638, 0.661041, -0.566772}, {-0.304199, -0.572083, -0.761688},
580 {0.908081, -0.398956, 0.127014}, {-0.523621, -0.549683, -0.650848},
581 {-0.932922, -0.19986, 0.299408}, {0.099426, 0.140869, 0.984985},
582 {-0.020325, -0.999756, -0.002319}, {0.952667, 0.280853, -0.11615},
583 {-0.971893, 0.082581, 0.220337}, {0.65921, 0.705292, -0.260651},
584 {0.733063, -0.175537, 0.657043}, {-0.555206, 0.429504, -0.712189},
585 {0.400421, -0.89859, 0.179352}, {0.750885, -0.19696, 0.630341},
586 {0.785675, -0.569336, 0.241821}, {-0.058899, -0.464111, 0.883789},
587 {0.129608, -0.94519, 0.299622}, {-0.357819, 0.907654, 0.219238},
588 {-0.842133, -0.439117, -0.312927}, {-0.313477, 0.84433, 0.434479},
589 {-0.241211, 0.053253, 0.968994}, {0.063873, 0.823273, 0.563965},
590 {0.476288, 0.862152, -0.172516}, {0.620941, -0.298126, 0.724915},
591 {0.25238, -0.749359, -0.612122}, {-0.577545, 0.386566, 0.718994},
592 {-0.406342, -0.737976, 0.538696}, {0.04718, 0.556305, 0.82959},
593 {-0.802856, 0.587463, 0.101166}, {-0.707733, -0.705963, 0.026428},
594 {0.374908, 0.68457, 0.625092}, {0.472137, 0.208405, -0.856506},
595 {-0.703064, -0.581085, -0.409821}, {-0.417206, -0.736328, 0.532623},
596 {-0.447876, -0.20285, -0.870728}, {0.086945, -0.990417, 0.107086},
597 {0.183685, 0.018341, -0.982788}, {0.560638, -0.428864, 0.708282},
598 {0.296722, -0.952576, -0.0672}, {0.135773, 0.990265, 0.030243},
599 {-0.068787, 0.654724, 0.752686}, {0.762604, -0.551758, 0.337585},
600 {-0.819611, -0.407684, 0.402466}, {-0.727844, -0.55072, -0.408539},
601 {-0.855774, -0.480011, 0.19281}, {0.693176, -0.079285, 0.716339},
602 {0.226013, 0.650116, -0.725433}, {0.246704, 0.953369, -0.173553},
603 {-0.970398, -0.239227, -0.03244}, {0.136383, -0.394318, 0.908752},
604 {0.813232, 0.558167, 0.164368}, {0.40451, 0.549042, -0.731323},
605 {-0.380249, -0.566711, 0.730865}, {0.022156, 0.932739, 0.359741},
606 {0.00824, 0.996552, -0.082306}, {0.956635, -0.065338, -0.283722},
607 {-0.743561, 0.008209, 0.668579}, {-0.859589, -0.509674, 0.035767},
608 {-0.852234, 0.363678, -0.375977}, {-0.201965, -0.970795, -0.12915},
609 {0.313477, 0.947327, 0.06546}, {-0.254028, -0.528259, 0.81015},
610 {0.628052, 0.601105, 0.49411}, {-0.494385, 0.868378, 0.037933},
611 {0.275635, -0.086426, 0.957336}, {-0.197937, 0.468903, -0.860748},
612 {0.895599, 0.399384, 0.195801}, {0.560791, 0.825012, -0.069214},
613 {0.304199, -0.849487, 0.43103}, {0.096375, 0.93576, 0.339111},
614 {-0.051422, 0.408966, -0.911072}, {0.330444, 0.942841, -0.042389},
615 {-0.452362, -0.786407, 0.420563}, {0.134308, -0.933472, -0.332489},
616 {0.80191, -0.566711, -0.188934}, {-0.987946, -0.105988, 0.112518},
617 {-0.24408, 0.892242, -0.379791}, {-0.920502, 0.229095, -0.316376},
618 {0.7789, 0.325958, 0.535706}, {-0.912872, 0.185211, -0.36377},
619 {-0.184784, 0.565369, -0.803833}, {-0.018463, 0.119537, 0.992615},
620 {-0.259247, -0.935608, 0.239532}, {-0.82373, -0.449127, -0.345947},
621 {-0.433105, 0.659515, 0.614349}, {-0.822754, 0.378845, -0.423676},
622 {0.687195, -0.674835, -0.26889}, {-0.246582, -0.800842, 0.545715},
623 {-0.729187, -0.207794, 0.651978}, {0.653534, -0.610443, -0.447388},
624 {0.492584, -0.023346, 0.869934}, {0.609039, 0.009094, -0.79306},
625 {0.962494, -0.271088, -0.00885}, {0.2659, -0.004913, 0.963959},
626 {0.651245, 0.553619, -0.518951}, {0.280548, -0.84314, 0.458618},
627 {-0.175293, -0.983215, 0.049805}, {0.035339, -0.979919, 0.196045},
628 {-0.982941, 0.164307, -0.082245}, {0.233734, -0.97226, -0.005005},
629 {-0.747253, -0.611328, 0.260437}, {0.645599, 0.592773, 0.481384},
630 {0.117706, -0.949524, -0.29068}, {-0.535004, -0.791901, -0.294312},
631 {-0.627167, -0.214447, 0.748718}, {-0.047974, -0.813477, -0.57959},
632 {-0.175537, 0.477264, -0.860992}, {0.738556, -0.414246, -0.53183},
633 {0.562561, -0.704071, 0.433289}, {-0.754944, 0.64801, -0.100586},
634 {0.114716, 0.044525, -0.992371}, {0.966003, 0.244873, -0.082764},
635 {0.33783, 0.715698, -0.611206}, {-0.944031, -0.326599, -0.045624},
636 {-0.101074, -0.416443, -0.903503}, {0.799286, 0.49411, -0.341949},
637 {-0.854645, 0.518036, 0.033936}, {0.42514, -0.437866, -0.792114},
638 {-0.358948, 0.597046, 0.717377}, {-0.985413, 0.144714, 0.089294},
639 {-0.601776, -0.33728, -0.723907}, {-0.449921, 0.594513, 0.666382},
640 {0.208313, -0.10791, 0.972076}, {0.575317, 0.060425, 0.815643},
641 {0.293365, -0.875702, -0.383453}, {0.293762, 0.465759, 0.834686},
642 {-0.846008, -0.233398, -0.47934}, {-0.115814, 0.143036, -0.98291},
643 {0.204681, -0.949036, -0.239532}, {0.946716, -0.263947, 0.184326},
644 {-0.235596, 0.573822, 0.784332}, {0.203705, -0.372253, -0.905487},
645 {0.756989, -0.651031, 0.055298}, {0.497803, 0.814697, -0.297363},
646 {-0.16214, 0.063995, -0.98468}, {-0.329254, 0.834381, 0.441925},
647 {0.703827, -0.527039, -0.476227}, {0.956421, 0.266113, 0.119781},
648 {0.480133, 0.482849, 0.7323}, {-0.18631, 0.961212, -0.203125},
649 {-0.748474, -0.656921, -0.090393}, {-0.085052, -0.165253, 0.982544},
650 {-0.76947, 0.628174, -0.115234}, {0.383148, 0.537659, 0.751068},
651 {0.616486, -0.668488, -0.415924}, {-0.259979, -0.630005, 0.73175},
652 {0.570953, -0.087952, 0.816223}, {-0.458008, 0.023254, 0.888611},
653 {-0.196167, 0.976563, -0.088287}, {-0.263885, -0.69812, -0.665527},
654 {0.437134, -0.892273, -0.112793}, {-0.621674, -0.230438, 0.748566},
655 {0.232422, 0.900574, -0.367249}, {0.22229, -0.796143, 0.562744},
656 {-0.665497, -0.73764, 0.11377}, {0.670135, 0.704803, 0.232605},
657 {0.895599, 0.429749, -0.114655}, {-0.11557, -0.474243, 0.872742},
658 {0.621826, 0.604004, -0.498444}, {-0.832214, 0.012756, 0.55426},
659 {-0.702484, 0.705994, -0.089661}, {-0.692017, 0.649292, 0.315399},
660 {-0.175995, -0.977997, 0.111877}, {0.096954, -0.04953, 0.994019},
661 {0.635284, -0.606689, -0.477783}, {-0.261261, -0.607422, -0.750153},
662 {0.983276, 0.165436, 0.075958}, {-0.29837, 0.404083, -0.864655},
663 {-0.638672, 0.507721, 0.578156}, {0.388214, 0.412079, 0.824249},
664 {0.556183, -0.208832, 0.804352}, {0.778442, 0.562012, 0.27951},
665 {-0.616577, 0.781921, -0.091522}, {0.196289, 0.051056, 0.979187},
666 {-0.121216, 0.207153, -0.970734}, {-0.173401, -0.384735, 0.906555},
667 {0.161499, -0.723236, -0.671387}, {0.178497, -0.006226, -0.983887},
668 {-0.126038, 0.15799, 0.97934}, {0.830475, -0.024811, 0.556458},
669 {-0.510132, -0.76944, 0.384247}, {0.81424, 0.200104, -0.544891},
670 {-0.112549, -0.393311, -0.912445}, {0.56189, 0.152222, -0.813049},
671 {0.198914, -0.254517, -0.946381}, {-0.41217, 0.690979, -0.593811},
672 {-0.407257, 0.324524, 0.853668}, {-0.690186, 0.366119, -0.624115},
673 {-0.428345, 0.844147, -0.322296}, {-0.21228, -0.297546, -0.930756},
674 {-0.273071, 0.516113, 0.811798}, {0.928314, 0.371643, 0.007233},
675 {0.785828, -0.479218, -0.390778}, {-0.704895, 0.058929, 0.706818},
676 {0.173248, 0.203583, 0.963562}, {0.422211, -0.904297, -0.062469},
677 {-0.363312, -0.182465, 0.913605}, {0.254028, -0.552307, -0.793945},
678 {-0.28891, -0.765747, -0.574554}, {0.058319, 0.291382, 0.954803},
679 {0.946136, -0.303925, 0.111267}, {-0.078156, 0.443695, -0.892731},
680 {0.182098, 0.89389, 0.409515}, {-0.680298, -0.213318, 0.701141},
681 {0.062469, 0.848389, -0.525635}, {-0.72879, -0.641846, 0.238342},
682 {-0.88089, 0.427673, 0.202637}, {-0.532501, -0.21405, 0.818878},
683 {0.948975, -0.305084, 0.07962}, {0.925446, 0.374664, 0.055817},
684 {0.820923, 0.565491, 0.079102}, {0.25882, 0.099792, -0.960724},
685 {-0.294617, 0.910522, 0.289978}, {0.137115, 0.320038, -0.937408},
686 {-0.908386, 0.345276, -0.235718}, {-0.936218, 0.138763, 0.322754},
687 {0.366577, 0.925934, -0.090637}, {0.309296, -0.686829, -0.657684},
688 {0.66983, 0.024445, 0.742065}, {-0.917999, -0.059113, -0.392059},
689 {0.365509, 0.462158, -0.807922}, {0.083374, 0.996399, -0.014801},
690 {0.593842, 0.253143, -0.763672}, {0.974976, -0.165466, 0.148285},
691 {0.918976, 0.137299, 0.369537}, {0.294952, 0.694977, 0.655731},
692 {0.943085, 0.152618, -0.295319}, {0.58783, -0.598236, 0.544495},
693 {0.203796, 0.678223, 0.705994}, {-0.478821, -0.661011, 0.577667},
694 {0.719055, -0.1698, -0.673828}, {-0.132172, -0.965332, 0.225006},
695 {-0.981873, -0.14502, 0.121979}, {0.763458, 0.579742, 0.284546},
696 {-0.893188, 0.079681, 0.442474}, {-0.795776, -0.523804, 0.303802},
697 {0.734955, 0.67804, -0.007446}, {0.15506, 0.986267, -0.056183},
698 {0.258026, 0.571503, -0.778931}, {-0.681549, -0.702087, -0.206116},
699 {-0.96286, -0.177185, 0.203613}, {-0.470978, -0.515106, 0.716095},
700 {-0.740326, 0.57135, 0.354095}, {-0.56012, -0.824982, -0.074982},
701 {-0.507874, 0.753204, 0.417969}, {-0.503113, 0.038147, 0.863342},
702 {0.594025, 0.673553, -0.439758}, {-0.119873, -0.005524, -0.992737},
703 {0.098267, -0.213776, 0.971893}, {-0.615631, 0.643951, 0.454163},
704 {0.896851, -0.441071, 0.032166}, {-0.555023, 0.750763, -0.358093},
705 {0.398773, 0.304688, 0.864929}, {-0.722961, 0.303589, 0.620544},
706 {-0.63559, -0.621948, -0.457306}, {-0.293243, 0.072327, 0.953278},
707 {-0.491638, 0.661041, -0.566772}, {-0.304199, -0.572083, -0.761688},
708 {0.908081, -0.398956, 0.127014}, {-0.523621, -0.549683, -0.650848},
709 {-0.932922, -0.19986, 0.299408}, {0.099426, 0.140869, 0.984985},
710 {-0.020325, -0.999756, -0.002319}, {0.952667, 0.280853, -0.11615},
711 {-0.971893, 0.082581, 0.220337}, {0.65921, 0.705292, -0.260651},
712 {0.733063, -0.175537, 0.657043}, {-0.555206, 0.429504, -0.712189},
713 {0.400421, -0.89859, 0.179352}, {0.750885, -0.19696, 0.630341},
714 {0.785675, -0.569336, 0.241821}, {-0.058899, -0.464111, 0.883789},
715 {0.129608, -0.94519, 0.299622}, {-0.357819, 0.907654, 0.219238},
716 {-0.842133, -0.439117, -0.312927}, {-0.313477, 0.84433, 0.434479},
717 {-0.241211, 0.053253, 0.968994}, {0.063873, 0.823273, 0.563965},
718 {0.476288, 0.862152, -0.172516}, {0.620941, -0.298126, 0.724915},
719 {0.25238, -0.749359, -0.612122}, {-0.577545, 0.386566, 0.718994},
720 {-0.406342, -0.737976, 0.538696}, {0.04718, 0.556305, 0.82959},
721 {-0.802856, 0.587463, 0.101166}, {-0.707733, -0.705963, 0.026428},
722 {0.374908, 0.68457, 0.625092}, {0.472137, 0.208405, -0.856506},
723 {-0.703064, -0.581085, -0.409821}, {-0.417206, -0.736328, 0.532623},
724 {-0.447876, -0.20285, -0.870728}, {0.086945, -0.990417, 0.107086},
725 {0.183685, 0.018341, -0.982788}, {0.560638, -0.428864, 0.708282},
726 {0.296722, -0.952576, -0.0672}, {0.135773, 0.990265, 0.030243},
727 {-0.068787, 0.654724, 0.752686}, {0.762604, -0.551758, 0.337585},
728 {-0.819611, -0.407684, 0.402466}, {-0.727844, -0.55072, -0.408539},
729 {-0.855774, -0.480011, 0.19281}, {0.693176, -0.079285, 0.716339},
730 {0.226013, 0.650116, -0.725433}, {0.246704, 0.953369, -0.173553},
731 {-0.970398, -0.239227, -0.03244}, {0.136383, -0.394318, 0.908752},
732 {0.813232, 0.558167, 0.164368}, {0.40451, 0.549042, -0.731323},
733 {-0.380249, -0.566711, 0.730865}, {0.022156, 0.932739, 0.359741},
734 {0.00824, 0.996552, -0.082306}, {0.956635, -0.065338, -0.283722},
735 {-0.743561, 0.008209, 0.668579}, {-0.859589, -0.509674, 0.035767},
736 {-0.852234, 0.363678, -0.375977}, {-0.201965, -0.970795, -0.12915},
737 {0.313477, 0.947327, 0.06546}, {-0.254028, -0.528259, 0.81015},
738 {0.628052, 0.601105, 0.49411}, {-0.494385, 0.868378, 0.037933},
739 {0.275635, -0.086426, 0.957336}, {-0.197937, 0.468903, -0.860748},
740 {0.895599, 0.399384, 0.195801}, {0.560791, 0.825012, -0.069214},
741 {0.304199, -0.849487, 0.43103}, {0.096375, 0.93576, 0.339111},
742 {-0.051422, 0.408966, -0.911072}, {0.330444, 0.942841, -0.042389},
743 {-0.452362, -0.786407, 0.420563}, {0.134308, -0.933472, -0.332489},
744 {0.80191, -0.566711, -0.188934}, {-0.987946, -0.105988, 0.112518},
745 {-0.24408, 0.892242, -0.379791}, {-0.920502, 0.229095, -0.316376},
746 {0.7789, 0.325958, 0.535706}, {-0.912872, 0.185211, -0.36377},
747 {-0.184784, 0.565369, -0.803833}, {-0.018463, 0.119537, 0.992615},
748 {-0.259247, -0.935608, 0.239532}, {-0.82373, -0.449127, -0.345947},
749 {-0.433105, 0.659515, 0.614349}, {-0.822754, 0.378845, -0.423676},
750 {0.687195, -0.674835, -0.26889}, {-0.246582, -0.800842, 0.545715},
751 {-0.729187, -0.207794, 0.651978}, {0.653534, -0.610443, -0.447388},
752 {0.492584, -0.023346, 0.869934}, {0.609039, 0.009094, -0.79306},
753 {0.962494, -0.271088, -0.00885}, {0.2659, -0.004913, 0.963959},
754 {0.651245, 0.553619, -0.518951}, {0.280548, -0.84314, 0.458618},
755 {-0.175293, -0.983215, 0.049805}, {0.035339, -0.979919, 0.196045},
756 {-0.982941, 0.164307, -0.082245}, {0.233734, -0.97226, -0.005005},
757 {-0.747253, -0.611328, 0.260437}, {0.645599, 0.592773, 0.481384},
758 {0.117706, -0.949524, -0.29068}, {-0.535004, -0.791901, -0.294312},
759 {-0.627167, -0.214447, 0.748718}, {-0.047974, -0.813477, -0.57959},
760 {-0.175537, 0.477264, -0.860992}, {0.738556, -0.414246, -0.53183},
761 {0.562561, -0.704071, 0.433289}, {-0.754944, 0.64801, -0.100586},
762 {0.114716, 0.044525, -0.992371}, {0.966003, 0.244873, -0.082764},
763 {0.33783, 0.715698, -0.611206}, {-0.944031, -0.326599, -0.045624},
766 #define SETUP(val, b0, b1, r0, r1) \
768 t = val + 10000.0f; \
769 b0 = ((int)t) & 255; \
770 b1 = (b0 + 1) & 255; \
771 r0 = t - floorf(t); \
780 int bx0, bx1, by0, by1, bz0, bz1, b00, b10, b01, b11;
781 float rx0, rx1, ry0, ry1, rz0, rz1, sx, sy, sz,
a, b,
c, d,
t, u,
v;
784 SETUP(vec[0], bx0, bx1, rx0, rx1);
785 SETUP(vec[1], by0, by1, ry0, ry1);
786 SETUP(vec[2], bz0, bz1, rz0, rz1);
796 #define VALUE_AT(rx, ry, rz) ((rx)*q[0] + (ry)*q[1] + (rz)*q[2])
797 #define SURVE(t) ((t) * (t) * (3.0f - 2.0f * (t)))
833 return 1.5f *
lerp(sz,
c, d);
842 float v[3] = {
x,
y,
z};
849 float v[3] = {
x,
y,
z};
859 vec[0] =
x / noisesize;
860 vec[1] =
y / noisesize;
861 vec[2] =
z / noisesize;
879 return (
x *
x +
y *
y +
z *
z);
901 float t = (
x >
y) ?
x :
y;
902 return ((
z >
t) ?
z :
t);
962 da[0] = da[1] = da[2] = da[3] = 1e10f;
963 for (
int xx = xi - 1; xx <= xi + 1; xx++) {
964 for (
int yy = yi - 1; yy <= yi + 1; yy++) {
965 for (
int zz = zi - 1; zz <= zi + 1; zz++) {
966 const float *p =
HASHPNT(xx, yy, zz);
967 float xd =
x - (p[0] + xx);
968 float yd =
y - (p[1] + yy);
969 float zd =
z - (p[2] + zz);
970 float d = distfunc(xd, yd, zd, me);
989 else if (d < da[1]) {
1003 else if (d < da[2]) {
1013 else if (d < da[3]) {
1027 float da[4], pa[12];
1034 float da[4], pa[12];
1041 float da[4], pa[12];
1048 float da[4], pa[12];
1055 float da[4], pa[12];
1057 return (da[1] - da[0]);
1075 float da[4], pa[12];
1077 return (2.0f * da[0] - 1.0f);
1082 float da[4], pa[12];
1084 return (2.0f * da[1] - 1.0f);
1089 float da[4], pa[12];
1091 return (2.0f * da[2] - 1.0f);
1096 float da[4], pa[12];
1098 return (2.0f * da[3] - 1.0f);
1103 float da[4], pa[12];
1105 return (2.0f * (da[1] - da[0]) - 1.0f);
1115 return (2.0f *
t - 1.0f);
1128 x = (
x + 0.000001f) * 1.00001f;
1129 y = (
y + 0.000001f) * 1.00001f;
1130 z = (
z + 0.000001f) * 1.00001f;
1132 int xi = (int)(
floor(
x));
1133 int yi = (int)(
floor(
y));
1134 int zi = (int)(
floor(
z));
1135 unsigned int n = xi + yi * 1301 + zi * 314159;
1137 return ((
float)(n * (n * n * 15731 + 789221) + 1376312589) / 4294967296.0f);
1150 x = (
x + 0.000001f) * 1.00001f;
1151 y = (
y + 0.000001f) * 1.00001f;
1152 z = (
z + 0.000001f) * 1.00001f;
1154 int xi = (int)(
floor(
x));
1155 int yi = (int)(
floor(
y));
1156 int zi = (int)(
floor(
z));
1157 const float *p =
HASHPNT(xi, yi, zi);
1173 float noisesize,
float x,
float y,
float z,
bool hard,
int noisebasis)
1177 switch (noisebasis) {
1216 if (noisesize != 0.0f) {
1217 noisesize = 1.0f / noisesize;
1224 return fabsf(2.0f * noisefunc(
x,
y,
z) - 1.0f);
1226 return noisefunc(
x,
y,
z);
1231 float noisesize,
float x,
float y,
float z,
int oct,
bool hard,
int noisebasis)
1234 switch (noisebasis) {
1271 if (noisesize != 0.0f) {
1272 noisesize = 1.0f / noisesize;
1278 float sum = 0, amp = 1, fscale = 1;
1279 for (
int i = 0; i <= oct; i++, amp *= 0.5f, fscale *= 2.0f) {
1280 float t = noisefunc(fscale *
x, fscale *
y, fscale *
z);
1306 float x,
float y,
float z,
float H,
float lacunarity,
float octaves,
int noisebasis)
1309 switch (noisebasis) {
1344 float value = 0.0, pwr = 1.0, pwHL =
powf(lacunarity, -
H);
1345 for (
int i = 0; i < (int)octaves; i++) {
1346 value += noisefunc(
x,
y,
z) * pwr;
1353 float rmd = octaves -
floorf(octaves);
1355 value += rmd * noisefunc(
x,
y,
z) * pwr;
1377 float x,
float y,
float z,
float H,
float lacunarity,
float octaves,
int noisebasis)
1380 switch (noisebasis) {
1415 float value = 1.0, pwr = 1.0, pwHL =
powf(lacunarity, -
H);
1416 for (
int i = 0; i < (int)octaves; i++) {
1417 value *= (pwr * noisefunc(
x,
y,
z) + 1.0f);
1423 float rmd = octaves -
floorf(octaves);
1425 value *= (rmd * noisefunc(
x,
y,
z) * pwr + 1.0f);
1452 switch (noisebasis) {
1488 float value = offset + noisefunc(
x,
y,
z);
1493 float pwHL =
powf(lacunarity, -
H);
1495 for (
int i = 1; i < (int)octaves; i++) {
1496 float increment = (noisefunc(
x,
y,
z) + offset) * pwr * value;
1504 float rmd = octaves -
floorf(octaves);
1506 float increment = (noisefunc(
x,
y,
z) + offset) * pwr * value;
1507 value += rmd * increment;
1530 switch (noisebasis) {
1565 float result = noisefunc(
x,
y,
z) + offset;
1566 float weight = gain *
result;
1571 float pwHL =
powf(lacunarity, -
H);
1573 for (
int i = 1; (weight > 0.001f) && (i < (
int)octaves); i++) {
1574 if (weight > 1.0f) {
1577 float signal = (noisefunc(
x,
y,
z) + offset) * pwr;
1579 result += weight * signal;
1580 weight *= gain * signal;
1586 float rmd = octaves -
floorf(octaves);
1588 result += rmd * ((noisefunc(
x,
y,
z) + offset) * pwr);
1614 switch (noisebasis) {
1649 float signal =
powf(offset -
fabsf(noisefunc(
x,
y,
z)), 2);
1651 float pwHL =
powf(lacunarity, -
H);
1653 for (
int i = 1; i < (int)octaves; i++) {
1657 float weight = signal * gain;
1658 if (weight > 1.0f) {
1661 else if (weight < 0.0f) {
1664 signal = offset -
fabsf(noisefunc(
x,
y,
z));
1678 float x,
float y,
float z,
float distortion,
int nbas1,
int nbas2)
1754 rv[0] = noisefunc1(
x + 13.5f,
y + 13.5f,
z + 13.5f) * distortion,
1755 rv[1] = noisefunc1(
x,
y,
z) * distortion,
1756 rv[2] = noisefunc1(
x - 13.5f,
y - 13.5f,
z - 13.5f) * distortion,
1759 return noisefunc2(
x + rv[0],
y + rv[1],
z + rv[2]);
typedef float(TangentPoint)[2]
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei GLsizei GLenum type _GL_VOID_RET _GL_VOID GLsizei GLenum GLenum const void *pixels _GL_VOID_RET _GL_VOID const void *pointer _GL_VOID_RET _GL_VOID GLdouble v _GL_VOID_RET _GL_VOID GLfloat v _GL_VOID_RET _GL_VOID GLint GLint i2 _GL_VOID_RET _GL_VOID GLint j _GL_VOID_RET _GL_VOID GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble GLdouble GLdouble zFar _GL_VOID_RET _GL_UINT GLdouble *equation _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLenum GLfloat *v _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLfloat *values _GL_VOID_RET _GL_VOID GLushort *values _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLenum GLdouble *params _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_BOOL GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLushort pattern _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble u2 _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLdouble GLdouble v2 _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLdouble GLdouble nz _GL_VOID_RET _GL_VOID GLfloat GLfloat nz _GL_VOID_RET _GL_VOID GLint GLint nz _GL_VOID_RET _GL_VOID GLshort GLshort nz _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const GLfloat *values _GL_VOID_RET _GL_VOID GLsizei const GLushort *values _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID const GLuint const GLclampf *priorities _GL_VOID_RET _GL_VOID GLdouble y _GL_VOID_RET _GL_VOID GLfloat y _GL_VOID_RET _GL_VOID GLint y _GL_VOID_RET _GL_VOID GLshort y _GL_VOID_RET _GL_VOID GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLfloat GLfloat z _GL_VOID_RET _GL_VOID GLint GLint z _GL_VOID_RET _GL_VOID GLshort GLshort z _GL_VOID_RET _GL_VOID GLdouble GLdouble z
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint y
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei GLsizei GLenum type _GL_VOID_RET _GL_VOID GLsizei GLenum GLenum const void *pixels _GL_VOID_RET _GL_VOID const void *pointer _GL_VOID_RET _GL_VOID GLdouble v _GL_VOID_RET _GL_VOID GLfloat v _GL_VOID_RET _GL_VOID GLint GLint i2 _GL_VOID_RET _GL_VOID GLint j _GL_VOID_RET _GL_VOID GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble GLdouble GLdouble zFar _GL_VOID_RET _GL_UINT GLdouble *equation _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLenum GLfloat *v _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLfloat *values _GL_VOID_RET _GL_VOID GLushort *values _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLenum GLdouble *params _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_BOOL GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLushort pattern _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble u2 _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLdouble GLdouble v2 _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLdouble GLdouble nz _GL_VOID_RET _GL_VOID GLfloat GLfloat nz _GL_VOID_RET _GL_VOID GLint GLint nz _GL_VOID_RET _GL_VOID GLshort GLshort nz _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const GLfloat *values _GL_VOID_RET _GL_VOID GLsizei const GLushort *values _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID const GLuint const GLclampf *priorities _GL_VOID_RET _GL_VOID GLdouble y _GL_VOID_RET _GL_VOID GLfloat y _GL_VOID_RET _GL_VOID GLint y _GL_VOID_RET _GL_VOID GLshort y _GL_VOID_RET _GL_VOID GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLfloat GLfloat z _GL_VOID_RET _GL_VOID GLint GLint z _GL_VOID_RET _GL_VOID GLshort GLshort z _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble w _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat w _GL_VOID_RET _GL_VOID GLint GLint GLint w _GL_VOID_RET _GL_VOID GLshort GLshort GLshort w _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble y2 _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat y2 _GL_VOID_RET _GL_VOID GLint GLint GLint y2 _GL_VOID_RET _GL_VOID GLshort GLshort GLshort y2 _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLuint *buffer _GL_VOID_RET _GL_VOID GLdouble t _GL_VOID_RET _GL_VOID GLfloat t _GL_VOID_RET _GL_VOID GLint t _GL_VOID_RET _GL_VOID GLshort t _GL_VOID_RET _GL_VOID GLdouble t
ATTR_WARN_UNUSED_RESULT const BMVert const BMEdge * e
ATTR_WARN_UNUSED_RESULT const BMVert * v
SIMD_FORCE_INLINE const btScalar & w() const
Return the w value.
static T sum(const btAlignedObjectArray< T > &items)
static const float g_perlin_data_v3[512+2][3]
static float voronoi_F4(float x, float y, float z)
BLI_INLINE float lerp(float t, float a, float b)
#define VALUE_AT(rx, ry, rz)
static float dist_Minkovsky4(float x, float y, float z, float e)
float BLI_noise_mg_hetero_terrain(float x, float y, float z, float H, float lacunarity, float octaves, float offset, int noisebasis)
static float dist_Real(float x, float y, float z, float e)
static float orgPerlinNoise(float x, float y, float z)
static float orgBlenderNoiseS(float x, float y, float z)
static float dist_Minkovsky(float x, float y, float z, float e)
static float newPerlinU(float x, float y, float z)
float BLI_noise_mg_multi_fractal(float x, float y, float z, float H, float lacunarity, float octaves, int noisebasis)
static float noise3_perlin(const float vec[3])
float BLI_noise_mg_ridged_multi_fractal(float x, float y, float z, float H, float lacunarity, float octaves, float offset, float gain, int noisebasis)
static float newPerlin(float x, float y, float z)
static float voronoi_F1F2S(float x, float y, float z)
static float voronoi_CrS(float x, float y, float z)
static float orgBlenderNoise(float x, float y, float z)
float BLI_noise_mg_variable_lacunarity(float x, float y, float z, float distortion, int nbas1, int nbas2)
static float orgPerlinNoiseU(float x, float y, float z)
float BLI_noise_cell(float x, float y, float z)
static float voronoi_F1F2(float x, float y, float z)
const unsigned char BLI_noise_hash_uchar_512[512]
float BLI_noise_generic_noise(float noisesize, float x, float y, float z, bool hard, int noisebasis)
static float voronoi_F1S(float x, float y, float z)
static const float hashpntf[768]
static float voronoi_Cr(float x, float y, float z)
BLI_INLINE float npfade(float t)
static float voronoi_F1(float x, float y, float z)
static float voronoi_F4S(float x, float y, float z)
static float dist_Squared(float x, float y, float z, float e)
float BLI_noise_turbulence(float noisesize, float x, float y, float z, int nr)
static float voronoi_F2S(float x, float y, float z)
static float dist_MinkovskyH(float x, float y, float z, float e)
static float voronoi_F2(float x, float y, float z)
static const char g_perlin_data_ub[512+2]
static const float hashvectf[768]
float BLI_noise_hnoisep(float noisesize, float x, float y, float z)
void BLI_noise_voronoi(float x, float y, float z, float *da, float *pa, float me, int dtype)
static float voronoi_F3S(float x, float y, float z)
BLI_INLINE float grad(int hash_val, float x, float y, float z)
float BLI_noise_hnoise(float noisesize, float x, float y, float z)
static float dist_Manhattan(float x, float y, float z, float e)
void BLI_noise_cell_v3(float x, float y, float z, float ca[3])
#define SETUP(val, b0, b1, r0, r1)
float BLI_noise_mg_fbm(float x, float y, float z, float H, float lacunarity, float octaves, int noisebasis)
static float dist_Chebychev(float x, float y, float z, float e)
static float BLI_cellNoiseU(float x, float y, float z)
float BLI_noise_mg_hybrid_multi_fractal(float x, float y, float z, float H, float lacunarity, float octaves, float offset, float gain, int noisebasis)
static float voronoi_F3(float x, float y, float z)
float BLI_noise_generic_turbulence(float noisesize, float x, float y, float z, int oct, bool hard, int noisebasis)
ccl_device_inline float2 floor(const float2 &a)