MCPcopy Create free account
hub / github.com/OpenFodder/openfodder / createEdgeMask

Method createEdgeMask

Source/Utils/SimplexIslands.hpp:208–246  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

206 }
207
208 void createEdgeMask(std::vector<std::vector<float>>& pNoise, float pEdgeFade) {
209
210 float percentToGradient = pEdgeFade;
211 // this is the percentage of the entire width/height from edge to fade in
212
213 for (size_t i = 0; i < pNoise.size(); i++) {
214 for (size_t j = 0; j < pNoise[i].size(); j++) {
215
216 if (i < pNoise.size() / 2) { // left side of map
217 float percentIn = (float)i / pNoise.size(); // calculate how far in the map we are
218 if (percentIn < percentToGradient) {
219 pNoise[i][j] *= (percentIn / percentToGradient);
220 }
221 }
222
223 if (i > pNoise.size() / 2) { // right side of map
224 float percentIn = 1 - (float)i / pNoise.size();
225 if (percentIn < percentToGradient) {
226 pNoise[i][j] *= (percentIn / percentToGradient);
227 }
228 }
229
230 if (j < pNoise[i].size() / 2) { // top side of map
231 float percentIn = (float)j / pNoise[i].size();
232 if (percentIn < percentToGradient) {
233 pNoise[i][j] *= (percentIn / percentToGradient);
234 }
235 }
236
237 if (j > pNoise[i].size() / 2) { // top side of map
238 float percentIn = 1 - (float)j / pNoise[i].size();
239 if (percentIn < percentToGradient) {
240 pNoise[i][j] *= (percentIn / percentToGradient);
241 }
242 }
243
244 }
245 }
246 }
247 void createRadialMask(std::vector<std::vector<float>>& pNoise) {
248 float centerX = (float) pNoise.size() / 2;
249 float centerY = (float) pNoise[0].size() / 2;

Callers

nothing calls this directly

Calls 1

sizeMethod · 0.45

Tested by

no test coverage detected