Working on adding zone to haze.

This commit is contained in:
Nissim Hadar 2017-09-28 23:53:53 -07:00
parent 9d0cf16c20
commit 0acf4b9de9
4 changed files with 23 additions and 12 deletions

View file

@ -146,16 +146,16 @@ void ZoneEntityRenderer::doRender(RenderArgs* args) {
}
_needBackgroundUpdate = false;
}
}
if (_needHazeUpdate) {
if (HazeStage::isIndexInvalid(_hazeIndex)) {
_hazeIndex = _hazeStage->addHaze(_haze);
}
else {
}
_needHazeUpdate = false;
if (_needHazeUpdate) {
if (HazeStage::isIndexInvalid(_hazeIndex)) {
_hazeIndex = _hazeStage->addHaze(_haze);
}
else {
}
_needHazeUpdate = false;
}
if (_visible) {
@ -172,6 +172,11 @@ void ZoneEntityRenderer::doRender(RenderArgs* args) {
if (_backgroundMode != BACKGROUND_MODE_INHERIT) {
_backgroundStage->_currentFrame.pushBackground(_backgroundIndex);
}
// The haze only if the mode is not inherit
if (_hazeMode != HAZE_MODE_INHERIT) {
_hazeStage->_currentFrame.pushHaze(_hazeIndex);
}
}
}
@ -329,6 +334,8 @@ void ZoneEntityRenderer::updateKeyAmbientFromEntity() {
}
void ZoneEntityRenderer::updateHazeFromEntity(const TypedEntityPointer& entity) {
setHazeMode(entity->getHazeMode());
const auto& haze = editHaze();
haze->setIsHazeActive(entity->getHazeMode() == HAZE_MODE_ENABLED);
@ -337,7 +344,6 @@ void ZoneEntityRenderer::updateHazeFromEntity(const TypedEntityPointer& entity)
void ZoneEntityRenderer::updateKeyBackgroundFromEntity(const TypedEntityPointer& entity) {
editBackground();
setBackgroundMode(entity->getBackgroundMode());
setHazeMode(entity->getHazeMode());
setSkyboxColor(_skyboxProperties.getColorVec3());
setProceduralUserData(entity->getUserData());
setSkyboxURL(_skyboxProperties.getURL());

View file

@ -140,7 +140,7 @@ void DrawHaze::run(const render::RenderContextPointer& renderContext, const Inpu
batch.setPipeline(_hazePipeline);
//// batch.setUniformBuffer(HazeEffect_ParamsSlot, haze->getParametersBuffer());
batch.setUniformBuffer(HazeEffect_ParamsSlot, haze->getParametersBuffer());
batch.setUniformBuffer(HazeEffect_TransformBufferSlot, transformBuffer->getFrameTransformBuffer());
batch.setResourceTexture(HazeEffect_LightingMapSlot, inputBuffer);

View file

@ -61,11 +61,10 @@ void HazeStageSetup::run(const render::RenderContextPointer& renderContext) {
}
void FetchHazeStage::run(const render::RenderContextPointer& renderContext, model::HazePointer& haze) {
auto hazeStage = renderContext->_scene->getStage<HazeStage>();
assert(hazeStage);
if (hazeStage->_currentFrame._hazes.size()) {
if (hazeStage->_currentFrame._hazes.size() != 0) {
auto hazeId = hazeStage->_currentFrame._hazes.front();
haze = hazeStage->getHaze(hazeId);
}

View file

@ -67,6 +67,12 @@ void SetupZones::run(const RenderContextPointer& context, const Inputs& inputs)
lightStage->_currentFrame.pushAmbientLight(0);
backgroundStage->_currentFrame.pushBackground(0);
// Haze
auto hazeStage = context->_scene->getStage<HazeStage>();
assert(hazeStage);
hazeStage->_currentFrame.clear();
hazeStage->_currentFrame.pushHaze(0);
}
const gpu::PipelinePointer& DebugZoneLighting::getKeyLightPipeline() {