From 6dcd8b7b57db722e2c683ba28bd5616d2bc3cd9f Mon Sep 17 00:00:00 2001 From: Nissim Hadar Date: Wed, 4 Oct 2017 21:47:20 -0700 Subject: [PATCH] Haze Range works. --- .../src/RenderableZoneEntityItem.cpp | 19 +++++++++---------- libraries/entities/src/HazePropertyGroup.h | 12 ++++++------ libraries/model/src/model/Stage.cpp | 2 +- libraries/model/src/model/Stage.h | 4 ++-- libraries/render-utils/src/DrawHaze.cpp | 1 - libraries/render-utils/src/HazeStage.cpp | 1 - 6 files changed, 18 insertions(+), 21 deletions(-) diff --git a/libraries/entities-renderer/src/RenderableZoneEntityItem.cpp b/libraries/entities-renderer/src/RenderableZoneEntityItem.cpp index ddc5b409eb..244a2e9a61 100644 --- a/libraries/entities-renderer/src/RenderableZoneEntityItem.cpp +++ b/libraries/entities-renderer/src/RenderableZoneEntityItem.cpp @@ -60,7 +60,6 @@ void ZoneEntityRenderer::onRemoveFromSceneTyped(const TypedEntityPointer& entity } } -#pragma optimize("", off) void ZoneEntityRenderer::doRender(RenderArgs* args) { #if 0 if (ZoneEntityItem::getDrawZoneBoundaries()) { @@ -339,20 +338,20 @@ void ZoneEntityRenderer::updateHazeFromEntity(const TypedEntityPointer& entity) haze->setHazeActive(entity->getHazeMode() == HAZE_MODE_ENABLED); - haze->setHazeRangeFactor(model::convertHazeRangeToHazeRangeFactor(entity->getHazeRange())); - xColor hazeBlendInColor = entity->getHazeBlendInColor(); + haze->setHazeRangeFactor(model::convertHazeRangeToHazeRangeFactor(_hazeProperties.getHazeRange())); + xColor hazeBlendInColor = _hazeProperties.getHazeBlendInColor(); haze->setHazeColor(glm::vec3(hazeBlendInColor.red / 255.0, hazeBlendInColor.green / 255.0, hazeBlendInColor.blue / 255.0)); - xColor hazeBlendOutColor = entity->getHazeBlendOutColor(); + xColor hazeBlendOutColor = _hazeProperties.getHazeBlendOutColor(); haze->setHazeColor(glm::vec3(hazeBlendOutColor.red / 255.0, hazeBlendOutColor.green / 255.0, hazeBlendOutColor.blue / 255.0)); - haze->setDirectionalLightBlend(model::convertDirectionalLightAngleToPower(entity->getHazeLightBlendAngle())); + haze->setDirectionalLightBlend(model::convertDirectionalLightAngleToPower(_hazeProperties.getHazeLightBlendAngle())); - haze->setHazeAltitudeFactor(model::convertHazeAltitudeToHazeAltitudeFactor(entity->getHazeAltitude())); - haze->setHazeBaseReference(entity->getHazeBaseRef()); + haze->setHazeAltitudeFactor(model::convertHazeAltitudeToHazeAltitudeFactor(_hazeProperties.getHazeAltitude())); + haze->setHazeBaseReference(_hazeProperties.getHazeBaseRef()); - haze->setHazeBackgroundBlendValue(entity->getHazeBackgroundBlend()); + haze->setHazeBackgroundBlendValue(_hazeProperties.getHazeBackgroundBlend()); - haze->setHazeKeyLightRangeFactor(model::convertHazeRangeToHazeRangeFactor(entity->getHazeRange())); - haze->setHazeAltitudeFactor(model::convertHazeAltitudeToHazeAltitudeFactor(entity->getHazeAltitude())); + haze->setHazeKeyLightRangeFactor(model::convertHazeRangeToHazeRangeFactor(_hazeProperties.getHazeKeyLightRange())); + haze->setHazeAltitudeFactor(model::convertHazeAltitudeToHazeAltitudeFactor(_hazeProperties.getHazeAltitude())); } void ZoneEntityRenderer::updateKeyBackgroundFromEntity(const TypedEntityPointer& entity) { diff --git a/libraries/entities/src/HazePropertyGroup.h b/libraries/entities/src/HazePropertyGroup.h index dd57ec0528..982e857010 100644 --- a/libraries/entities/src/HazePropertyGroup.h +++ b/libraries/entities/src/HazePropertyGroup.h @@ -91,18 +91,18 @@ public: DEFINE_PROPERTY(PROP_HAZE_RANGE, HazeRange, hazeRange, float, DEFAULT_HAZE_RANGE); DEFINE_PROPERTY_REF(PROP_HAZE_BLEND_IN_COLOR, HazeBlendInColor, hazeBlendInColor, xColor, DEFAULT_HAZE_BLEND_IN_COLOR); DEFINE_PROPERTY_REF(PROP_HAZE_BLEND_OUT_COLOR, HazeBlendOutColor, hazeBlendOutColor, xColor, DEFAULT_HAZE_BLEND_OUT_COLOR); - DEFINE_PROPERTY(PROP_HAZE_LIGHT_BLEND_ANGLE, HazeLightBlendAngle, hazeLightBlendAngle, float, DEFAULT_HAZE_LIGHT_BLEND_ANGLE); + DEFINE_PROPERTY_REF(PROP_HAZE_LIGHT_BLEND_ANGLE, HazeLightBlendAngle, hazeLightBlendAngle, float, DEFAULT_HAZE_LIGHT_BLEND_ANGLE); // Range & Altitude parameters - DEFINE_PROPERTY(PROP_HAZE_ALTITUDE, HazeAltitude, hazeAltitude, float, DEFAULT_HAZE_ALTITUDE); - DEFINE_PROPERTY(PROP_HAZE_BASE_REF, HazeBaseRef, hazeBaseRef, float, DEFAULT_HAZE_BASE_REF); + DEFINE_PROPERTY_REF(PROP_HAZE_ALTITUDE, HazeAltitude, hazeAltitude, float, DEFAULT_HAZE_ALTITUDE); + DEFINE_PROPERTY_REF(PROP_HAZE_BASE_REF, HazeBaseRef, hazeBaseRef, float, DEFAULT_HAZE_BASE_REF); // Background (skybox) blend value - DEFINE_PROPERTY(PROP_HAZE_BACKGROUND_BLEND, HazeBackgroundBlend, hazeBackgroundBlend, float, DEFAULT_HAZE_BACKGROUND_BLEND); + DEFINE_PROPERTY_REF(PROP_HAZE_BACKGROUND_BLEND, HazeBackgroundBlend, hazeBackgroundBlend, float, DEFAULT_HAZE_BACKGROUND_BLEND); // hazeDirectional light attenuation - DEFINE_PROPERTY(PROP_HAZE_KEYLIGHT_RANGE, HazeKeyLightRange, hazeKeyLightRange, float, DEFAULT_HAZE_KEYLIGHT_RANGE); - DEFINE_PROPERTY(PROP_HAZE_KEYLIGHT_ALTITUDE, HazeKeyLightAltitude, hazeKeyLightAltitude, float, DEFAULT_HAZE_KEYLIGHT_ALTITUDE); + DEFINE_PROPERTY_REF(PROP_HAZE_KEYLIGHT_RANGE, HazeKeyLightRange, hazeKeyLightRange, float, DEFAULT_HAZE_KEYLIGHT_RANGE); + DEFINE_PROPERTY_REF(PROP_HAZE_KEYLIGHT_ALTITUDE, HazeKeyLightAltitude, hazeKeyLightAltitude, float, DEFAULT_HAZE_KEYLIGHT_ALTITUDE); }; #endif // hifi_HazePropertyGroup_h diff --git a/libraries/model/src/model/Stage.cpp b/libraries/model/src/model/Stage.cpp index 3080122181..75a94f0cea 100644 --- a/libraries/model/src/model/Stage.cpp +++ b/libraries/model/src/model/Stage.cpp @@ -257,7 +257,7 @@ void SunSkyStage::setSkybox(const SkyboxPointer& skybox) { } // Haze -void SunSkyStage::setHazeMode(uint8_t mode) { +void SunSkyStage::setHazeMode(uint32_t mode) { _hazeMode = mode; invalidate(); } diff --git a/libraries/model/src/model/Stage.h b/libraries/model/src/model/Stage.h index ad1210c5c0..4ed7c6887c 100644 --- a/libraries/model/src/model/Stage.h +++ b/libraries/model/src/model/Stage.h @@ -183,8 +183,8 @@ public: NUM_HAZE_MODES }; - void setHazeMode(uint8_t mode); - uint8_t getHazeMode() const { return _hazeMode; } + void setHazeMode(uint32_t mode); + uint32_t getHazeMode() const { return _hazeMode; } void setHazeRange(float hazeRange) { _hazeRange = hazeRange; } float getHazeRange() const { return _hazeRange; } diff --git a/libraries/render-utils/src/DrawHaze.cpp b/libraries/render-utils/src/DrawHaze.cpp index 1c65e1b905..fe6745090c 100644 --- a/libraries/render-utils/src/DrawHaze.cpp +++ b/libraries/render-utils/src/DrawHaze.cpp @@ -126,7 +126,6 @@ const int HazeEffect_LinearDepthMapSlot = 3; void DrawHaze::configure(const Config& config) { } -#pragma optimize("", off) void DrawHaze::run(const render::RenderContextPointer& renderContext, const Inputs& inputs) { const auto haze = inputs.get0(); if (haze == nullptr) { diff --git a/libraries/render-utils/src/HazeStage.cpp b/libraries/render-utils/src/HazeStage.cpp index 4acc5d534c..a883344e02 100644 --- a/libraries/render-utils/src/HazeStage.cpp +++ b/libraries/render-utils/src/HazeStage.cpp @@ -84,7 +84,6 @@ void HazeStageSetup::run(const render::RenderContextPointer& renderContext) { } } -#pragma optimize("", off) void FetchHazeStage::run(const render::RenderContextPointer& renderContext, model::HazePointer& haze) { auto hazeStage = renderContext->_scene->getStage(); assert(hazeStage);