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
14
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);
29};
30
32{
33public:
36
37 void ShowSettings(bool *pOpen);
38
39 void RenderFoliage(Camera &camera);
40
41 nlohmann::json Save();
42
43 void Load(nlohmann::json data);
44public:
45 ApplicationState *appState;
46 std::vector<FoliageItem *> foliageItems;
47};
Definition: Camera.h:9
Definition: Model.h:9
a class to store JSON values
Definition: json.hpp:17860