TerraForge3D
2.3.1
3D Terrain And Landscape Generator
MeshGeneratorManager.h
1
#pragma once
2
3
struct
ApplicationState
;
4
class
Model
;
5
class
ClearMeshGenerator
;
6
class
CPUNoiseLayersGenerator
;
7
class
GPUNoiseLayerGenerator
;
8
9
class
CPUNodeEditor
;
10
11
12
13
#include "Base/OpenCL/ComputeKernel.h"
14
#include "json/json.hpp"
15
16
17
#include <vector>
18
19
#include <atomic>
20
21
class
MeshGeneratorManager
22
{
23
public
:
24
25
MeshGeneratorManager
(
ApplicationState
*appState);
26
~MeshGeneratorManager
();
27
28
void
Generate();
29
void
GenerateSync();
30
void
ShowSettings();
31
32
void
GenerateForTerrain();
33
void
GenerateForCustomBase();
34
35
void
ExecuteKernels();
36
void
ExecuteCPUGenerators();
37
38
void
LoadKernels();
39
40
nlohmann::json
Save();
41
void
Load(
nlohmann::json
data);
42
43
double
time = 0;
44
bool
windowStat =
true
;
45
46
private
:
47
ApplicationState
*appState;
48
Model
*tmpModel;
49
std::atomic<bool> *isRemeshing;
50
ComputeKernel
*kernels;
51
ClearMeshGenerator
*clearMeshGen;
52
std::vector<CPUNoiseLayersGenerator *> cpuNoiseLayers;
53
std::vector<GPUNoiseLayerGenerator *> gpuNoiseLayers;
54
std::vector<CPUNodeEditor *> cpuNodeEditors;
55
};
CPUNodeEditor
Definition:
CPUNodeEditor.h:80
CPUNoiseLayersGenerator
Definition:
CPUNoiseLayersGenerator.h:13
ClearMeshGenerator
Definition:
ClearMeshGenerator.h:10
ComputeKernel
Definition:
ComputeKernel.h:17
GPUNoiseLayerGenerator
Definition:
GPUNoiseLayerGenerator.h:30
MeshGeneratorManager
Definition:
MeshGeneratorManager.h:22
Model
Definition:
Model.h:9
nlohmann::basic_json
a class to store JSON values
Definition:
json.hpp:17860
ApplicationState
Definition:
ApplicationState.h:192
TerraForge3D
include
Generators
MeshGeneratorManager.h
Generated on Thu Apr 7 2022 14:10:50 for TerraForge3D by
1.9.3