|
@@ -381,7 +381,7 @@ void RenderProbeMgr::unregisterProbe(U32 probeIdx)
|
|
//recalculate all the probe's indicies just to be sure
|
|
//recalculate all the probe's indicies just to be sure
|
|
for (U32 i = 0; i < mRegisteredProbes.size(); i++)
|
|
for (U32 i = 0; i < mRegisteredProbes.size(); i++)
|
|
{
|
|
{
|
|
- mRegisteredProbes[i].mProbeIdx == i;
|
|
|
|
|
|
+ mRegisteredProbes[i].mProbeIdx = i;
|
|
}
|
|
}
|
|
|
|
|
|
//rebuild our probe data
|
|
//rebuild our probe data
|
|
@@ -666,8 +666,8 @@ void RenderProbeMgr::_update4ProbeConsts(const SceneData &sgData,
|
|
|
|
|
|
shaderConsts->setSafe(probeShaderConsts->mSkylightCubemapIdxSC, (float)skyLightIdx);
|
|
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)
|
|
if(probeShaderConsts->mProbeSpecularCubemapSC->getSamplerRegister() != -1)
|
|
GFX->setCubeArrayTexture(probeShaderConsts->mProbeSpecularCubemapSC->getSamplerRegister(), mPrefilterArray);
|
|
GFX->setCubeArrayTexture(probeShaderConsts->mProbeSpecularCubemapSC->getSamplerRegister(), mPrefilterArray);
|
|
@@ -721,7 +721,7 @@ void RenderProbeMgr::render( SceneRenderState *state )
|
|
_setupStaticParameters();
|
|
_setupStaticParameters();
|
|
|
|
|
|
// Early out if nothing to draw.
|
|
// 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);
|
|
getProbeArrayEffect()->setSkip(true);
|
|
return;
|
|
return;
|
|
@@ -927,6 +927,8 @@ void RenderProbeMgr::bakeProbe(ReflectionProbe *probe)
|
|
U32 endMSTime = Platform::getRealMilliseconds();
|
|
U32 endMSTime = Platform::getRealMilliseconds();
|
|
F32 diffTime = F32(endMSTime - startMSTime);
|
|
F32 diffTime = F32(endMSTime - startMSTime);
|
|
|
|
|
|
|
|
+ probe->setMaskBits(-1);
|
|
|
|
+
|
|
Con::warnf("RenderProbeMgr::bake() - Finished bake! Took %g milliseconds", diffTime);
|
|
Con::warnf("RenderProbeMgr::bake() - Finished bake! Took %g milliseconds", diffTime);
|
|
}
|
|
}
|
|
|
|
|