mirror of
https://github.com/MihailRis/voxelcore.git
synced 2026-10-08 20:41:49 +00:00
move sky sprites to environment
This commit is contained in:
parent
28b7713648
commit
4aaa5b2d7e
4 changed files with 70 additions and 44 deletions
|
|
@ -3,6 +3,9 @@
|
|||
#include "interfaces/Serializable.hpp"
|
||||
#include "util/EnumMetadata.hpp"
|
||||
|
||||
#include <vector>
|
||||
#include <glm/gtc/constants.hpp>
|
||||
|
||||
enum class SkyMode {
|
||||
NONE, SOLID, BOX
|
||||
};
|
||||
|
|
@ -13,13 +16,44 @@ VC_ENUM_METADATA(SkyMode)
|
|||
{"box", SkyMode::BOX},
|
||||
VC_ENUM_END
|
||||
|
||||
struct SkySprite {
|
||||
std::string texture;
|
||||
float phase;
|
||||
float distance;
|
||||
bool emissive;
|
||||
float altitude;
|
||||
};
|
||||
|
||||
class Environment : public Serializable {
|
||||
public:
|
||||
struct {
|
||||
SkyMode mode = SkyMode::BOX;
|
||||
bool stars = true;
|
||||
bool clouds = true;
|
||||
bool sprites = true;
|
||||
// TODO: move defaults to config file
|
||||
std::vector<SkySprite> sprites {
|
||||
SkySprite {
|
||||
"misc/moon",
|
||||
glm::pi<float>() * 0.5f,
|
||||
4.0f,
|
||||
false,
|
||||
glm::pi<float>() * 0.25f,
|
||||
},
|
||||
SkySprite {
|
||||
"misc/moon_flare",
|
||||
glm::pi<float>() * 0.5f,
|
||||
0.5f,
|
||||
false,
|
||||
glm::pi<float>() * 0.25f,
|
||||
},
|
||||
SkySprite {
|
||||
"misc/sun",
|
||||
glm::pi<float>() * 1.5f,
|
||||
4.0f,
|
||||
true,
|
||||
glm::pi<float>() * 0.25f,
|
||||
},
|
||||
};
|
||||
} sky;
|
||||
|
||||
Environment() = default;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue