diff --git a/libraries/model/src/model/Stage.cpp b/libraries/model/src/model/Stage.cpp index 1c171eee76..225ec8d138 100644 --- a/libraries/model/src/model/Stage.cpp +++ b/libraries/model/src/model/Stage.cpp @@ -184,6 +184,14 @@ void Atmosphere::setInnerOuterRadiuses(float inner, float outer) { data._scales.z = data._scales.x / data._scales.y; } +Skybox::Skybox() { +} + +void Skybox::setCubemap(const gpu::TexturePointer& cubemap) { + _cubemap = cubemap; +} + + const int NUM_DAYS_PER_YEAR = 365; const float NUM_HOURS_PER_DAY = 24.0f; @@ -273,3 +281,6 @@ void SunSkyStage::updateGraphicsObject() const { } +void SunSkyStage::setSkybox(const Vec3& color) { + _skybox ; +} \ No newline at end of file diff --git a/libraries/model/src/model/Stage.h b/libraries/model/src/model/Stage.h index 3cc8b4a6e9..30c96259ca 100644 --- a/libraries/model/src/model/Stage.h +++ b/libraries/model/src/model/Stage.h @@ -160,6 +160,21 @@ protected: }; typedef QSharedPointer< Atmosphere > AtmospherePointer; + +class Skybox { +public: + Skybox(); + Skybox& operator= (const Atmosphere& Skybox); + virtual ~Skybox() {}; + + void setCubemap(const gpu::TexturePointer& cubemap); + const gpu::TexturePointer& getCubemap() const { return _cubemap; } + +protected: + gpu::TexturePointer _cubemap; +}; +typedef QSharedPointer< Skybox > SkyboxPointer; + // Sun sky stage generates the rendering primitives to display a scene realistically // at the specified location and time around earth class SunSkyStage { @@ -197,9 +212,14 @@ public: LightPointer getSunLight() const { valid(); return _sunLight; } AtmospherePointer getAtmosphere() const { valid(); return _atmosphere; } + // Skybox + void setSkybox(const SkyboxPointer& skybox); + const SkyboxPointer& getSkybox() const { valid(); return _skybox; } + protected: LightPointer _sunLight; AtmospherePointer _atmosphere; + SkyboxPointer _skybox; gpu::PipelinePointer _skyPipeline;