diff --git a/Engine/source/T3D/lighting/reflectionProbe.cpp b/Engine/source/T3D/lighting/reflectionProbe.cpp index 8c6f11cfe..5447789e3 100644 --- a/Engine/source/T3D/lighting/reflectionProbe.cpp +++ b/Engine/source/T3D/lighting/reflectionProbe.cpp @@ -817,7 +817,7 @@ void ReflectionProbe::bake() PROBEMGR->bakeProbe(this); - setMaskBits(StaticDataMask); + setMaskBits(-1); } //----------------------------------------------------------------------------- diff --git a/Engine/source/renderInstance/renderProbeMgr.cpp b/Engine/source/renderInstance/renderProbeMgr.cpp index ee3fdc0b5..4f32e5404 100644 --- a/Engine/source/renderInstance/renderProbeMgr.cpp +++ b/Engine/source/renderInstance/renderProbeMgr.cpp @@ -381,7 +381,7 @@ void RenderProbeMgr::unregisterProbe(U32 probeIdx) //recalculate all the probe's indicies just to be sure for (U32 i = 0; i < mRegisteredProbes.size(); i++) { - mRegisteredProbes[i].mProbeIdx == i; + mRegisteredProbes[i].mProbeIdx = i; } //rebuild our probe data @@ -666,8 +666,8 @@ void RenderProbeMgr::_update4ProbeConsts(const SceneData &sgData, shaderConsts->setSafe(probeShaderConsts->mSkylightCubemapIdxSC, (float)skyLightIdx); - if (mBRDFTexture.isValid()) - GFX->setTexture(2, mBRDFTexture); + if(probeShaderConsts->mBRDFTextureMap->getSamplerRegister() != -1 && mBRDFTexture.isValid()) + GFX->setTexture(probeShaderConsts->mBRDFTextureMap->getSamplerRegister(), mBRDFTexture); if(probeShaderConsts->mProbeSpecularCubemapSC->getSamplerRegister() != -1) GFX->setCubeArrayTexture(probeShaderConsts->mProbeSpecularCubemapSC->getSamplerRegister(), mPrefilterArray); @@ -721,7 +721,7 @@ void RenderProbeMgr::render( SceneRenderState *state ) _setupStaticParameters(); // Early out if nothing to draw. - if (!RenderProbeMgr::smRenderReflectionProbes || !state->isDiffusePass() || (mEffectiveProbeCount == 0 && mSkylightCubemapIdx == -1)) + if (!RenderProbeMgr::smRenderReflectionProbes || (!state->isDiffusePass() && !state->isReflectPass()) || (mEffectiveProbeCount == 0 && mSkylightCubemapIdx == -1)) { getProbeArrayEffect()->setSkip(true); return; @@ -927,6 +927,8 @@ void RenderProbeMgr::bakeProbe(ReflectionProbe *probe) U32 endMSTime = Platform::getRealMilliseconds(); F32 diffTime = F32(endMSTime - startMSTime); + probe->setMaskBits(-1); + Con::warnf("RenderProbeMgr::bake() - Finished bake! Took %g milliseconds", diffTime); }