1515
1616VULKAN_ENGINE_NAMESPACE_BEGIN
1717namespace Core {
18+
19+ enum EnviromentType
20+ {
21+ IMAGE_BASED_ENV = 0 ,
22+ PROCEDURAL_ENV = 1 ,
23+ };
1824/*
1925Skybox for rendering enviroments and IBL
2026*/
@@ -25,10 +31,14 @@ class Skybox
2531 TextureHDR* m_env = nullptr ;
2632
2733 // Settings
28- float m_blurriness = 0 .0f ;
29- float m_intensity = 1 .0f ;
30- float m_rotation = 0 .0f ;
31- uint32_t m_irradianceResolution = 32 ;
34+ float m_blurriness = 0 .0f ;
35+ float m_intensity = 1 .0f ;
36+ float m_rotation = 0 .0f ;
37+ uint32_t m_irradianceResolution = 32 ;
38+ EnviromentType m_envType = IMAGE_BASED_ENV;
39+ float m_time;
40+ uint32_t m_month;
41+ uint32_t m_aerosolType;
3242
3343 bool m_updateEnviroment{true };
3444 bool m_active{true };
@@ -38,6 +48,10 @@ class Skybox
3848 : m_env(env) {
3949 m_box = Geometry::create_cube ();
4050 }
51+ Skybox ()
52+ : m_env(nullptr ) {
53+ m_box = Geometry::create_cube ();
54+ }
4155 ~Skybox () {
4256 delete m_box;
4357 delete m_env;
@@ -90,12 +104,12 @@ class Skybox
90104 inline bool is_active () {
91105 return m_active;
92106 }
93- inline uint32_t get_irradiance_resolution () const {
107+ inline uint32_t get_irradiance_resolution () const {
94108 return m_irradianceResolution;
95109 }
96- inline void set_irradiance_resolution (uint32_t r){
110+ inline void set_irradiance_resolution (uint32_t r) {
97111 m_irradianceResolution = r;
98- m_updateEnviroment = true ;
112+ m_updateEnviroment = true ;
99113 }
100114};
101115
0 commit comments