TerraForge3D
2.3.1
3D Terrain And Landscape Generator
FoliagePlacement.h
1
#pragma once
2
3
#include <string>
4
#include <vector>
5
6
#include <json/json.hpp>
7
8
#include "Base/Model.h"
9
#include "Base/Texture2D.h"
10
#include "Base/Camera.h"
11
#include "Base/Shader.h"
12
13
class
ApplicationState
;
14
15
struct
FoliageItem
16
{
17
std::string name =
""
;
18
std::string modelDir =
""
;
19
Texture2D
*roughness =
nullptr
;
20
Texture2D
*albedo =
nullptr
;
21
Texture2D
*ao =
nullptr
;
22
Texture2D
*normal =
nullptr
;
23
Texture2D
*metallic =
nullptr
;
24
Model
*model =
nullptr
;
25
bool
active =
true
;
26
27
FoliageItem
(std::string defaultTexture);
28
~FoliageItem
();
29
};
30
31
class
FoliageManager
32
{
33
public
:
34
FoliageManager
(
ApplicationState
*appState);
35
~FoliageManager
();
36
37
void
ShowSettings(
bool
*pOpen);
38
39
void
RenderFoliage(
Camera
&camera);
40
41
nlohmann::json
Save();
42
43
void
Load(
nlohmann::json
data);
44
public
:
45
ApplicationState
*appState;
46
std::vector<FoliageItem *> foliageItems;
47
};
Camera
Definition:
Camera.h:9
FoliageManager
Definition:
FoliagePlacement.h:32
Model
Definition:
Model.h:9
Texture2D
Definition:
Texture2D.h:8
nlohmann::basic_json
a class to store JSON values
Definition:
json.hpp:17860
ApplicationState
Definition:
ApplicationState.h:192
FoliageItem
Definition:
FoliagePlacement.h:16
TerraForge3D
include
Foliage
FoliagePlacement.h
Generated on Thu Apr 7 2022 14:10:50 for TerraForge3D by
1.9.3