TerraForge3D  2.3.1
3D Terrain And Landscape Generator

◆ GenerateForTerrain()

void MeshGeneratorManager::GenerateForTerrain ( )

Definition at line 242 of file MeshGeneratorManager.cpp.

243{
244 int res = appState->globals.resolution;
245 float scale = appState->globals.scale;
246 Model *mod = appState->models.coreTerrain;
247
248 for (int i = 0; i < mod->mesh->vertexCount; i++)
249 {
250 float elev = 0.0f;
251 NodeInputParam inp;
252 inp.x = mod->mesh->vert[i].position.x;
253 inp.y = 0.0f;
254 inp.z = mod->mesh->vert[i].position.z;
255 inp.minX = 0.0f;
256 inp.minY = 0.0f;
257 inp.minZ = 0.0f;
258 inp.maxX = scale;
259 inp.maxY = scale;
260 inp.maxZ = scale;
261 inp.texX = mod->mesh->vert[i].texCoord.x;
262 inp.texY = mod->mesh->vert[i].texCoord.y;
263
264 for (int j = 0; j < cpuNoiseLayers.size(); j++)
265 {
266 if(cpuNoiseLayers[j]->enabled)
267 {
268 elev += cpuNoiseLayers[j]->EvaluateAt(inp.x, inp.y, inp.z);
269 }
270 }
271
272 for(int j = 0 ; j<cpuNodeEditors.size(); j++)
273 {
274 if(cpuNodeEditors[j]->enabled)
275 {
276 elev += cpuNodeEditors[j]->EvaluateAt(inp);
277 }
278 }
279
280 mod->mesh->vert[i].position.y += elev;
281 mod->mesh->vert[i].extras1.x += elev;
282 }
283}
Definition: Model.h:9