RavEngine
Loading...
Searching...
No Matches
Skybox.hpp
1#if !RVE_SERVER
2#pragma once
3#include "Material.hpp"
4
5namespace RavEngine {
6 struct MeshAsset;
7
8 // subclass
9 struct ISkyMaterial : public Material {
10 ISkyMaterial(const std::string& shaderpath);
11 };
12
13 // subclass
15 ISkyMaterialInstance(const Ref<ISkyMaterial> sm) : sm(sm) {}
16
17 Ref<ISkyMaterial> GetMat() const {
18 return sm;
19 }
20
21 private:
23 };
24
25 // default implementation, sublcass or implement your own
26
28 DefaultSkyMaterial() : ISkyMaterial("defaultsky") {}
29 };
30
34
35 struct Skybox {
36 bool enabled = true;
38
39 // default constructor, loads default sky implementation
40 Skybox();
41
42 // supply a custom mesh and material
43 Skybox(const decltype(skyMat)& sm ): skyMat(sm){}
44
45 friend class App;
46 };
47
48
49}
50#endif
Definition App.hpp:43
Definition Material.hpp:45
Definition concurrentqueue.h:747
Definition Animation.hpp:6
Definition Skybox.hpp:27
Definition Skybox.hpp:14
Definition Skybox.hpp:9
Definition Skybox.hpp:35