TerraForge3D
2.3.1
3D Terrain And Landscape Generator
SeaManager.h
1
#pragma once
2
3
#include "json/json.hpp"
4
5
#include "Base/Base.h"
6
7
#include "Lighting/LightManager.h"
8
9
class
ApplicationState
;
10
11
class
SeaManager
12
{
13
public
:
14
15
SeaManager
(
ApplicationState
*appState);
16
~SeaManager
();
17
18
void
Load(
nlohmann::json
data);
19
nlohmann::json
Save();
20
21
void
Render(
Camera
&camera,
LightManager
*lights,
void
*reflectionTexture,
float
time = 0);
22
void
ShowSettings(
bool
*pOpen);
23
24
float
level = 0.0f;
25
bool
enabled =
true
;
26
27
private
:
28
Model
*model;
29
Texture2D
*dudvMap;
30
Texture2D
*normalMap;
31
Shader
*shader;
32
ApplicationState
*appState;
33
34
float
alpha = 0.5f;
35
float
distrotionScale = 1.0f;
36
float
distrotionStrength = 0.02f;
37
float
reflectivity = 0.7f;
38
float
waveSpeed = 0.01f;
39
float
scale = 1.0f;
40
41
float
color[3];
42
43
};
Camera
Definition:
Camera.h:9
LightManager
Definition:
LightManager.h:7
Model
Definition:
Model.h:9
SeaManager
Definition:
SeaManager.h:12
Shader
Definition:
Shader.h:7
Texture2D
Definition:
Texture2D.h:8
nlohmann::basic_json
a class to store JSON values
Definition:
json.hpp:17860
ApplicationState
Definition:
ApplicationState.h:192
TerraForge3D
include
Sea
SeaManager.h
Generated on Thu Apr 7 2022 14:10:50 for TerraForge3D by
1.9.3