mirror of
https://github.com/overte-org/overte.git
synced 2025-08-13 21:30:36 +02:00
Working on adding zone to haze.
This commit is contained in:
parent
9d0cf16c20
commit
0acf4b9de9
4 changed files with 23 additions and 12 deletions
|
@ -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());
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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() {
|
||||
|
|
Loading…
Reference in a new issue