mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-02-13 03:33:48 +00:00
shift capturing from a globalMacro to a sceneRenderstate S32
lets us ditch shader recompilation so that can be done on the fly without hitches, though does cost us a per-shader const for objects and postfx
This commit is contained in:
parent
71e0626ec2
commit
fe26ffc375
13 changed files with 69 additions and 101 deletions
|
|
@ -503,47 +503,13 @@ void RenderProbeMgr::reloadTextures()
|
|||
void RenderProbeMgr::preBake()
|
||||
{
|
||||
RenderProbeMgr::smBakeReflectionProbes = true;
|
||||
GFXShader::addGlobalMacro("CAPTURING", String("1"));
|
||||
|
||||
//Con::setVariable("$Probes::Capturing", "1");
|
||||
mRenderMaximumNumOfLights = AdvancedLightBinManager::smMaximumNumOfLights;
|
||||
mRenderUseLightFade = AdvancedLightBinManager::smUseLightFade;
|
||||
|
||||
AdvancedLightBinManager::smMaximumNumOfLights = -1;
|
||||
AdvancedLightBinManager::smUseLightFade = false;
|
||||
|
||||
//kickstart rendering
|
||||
LightManager* lm = LIGHTMGR;
|
||||
if (lm)
|
||||
{
|
||||
SceneManager* sm = lm->getSceneManager();
|
||||
if (sm && sm->getContainer() == &gClientContainer)
|
||||
{
|
||||
lm->deactivate();
|
||||
lm->activate(sm);
|
||||
}
|
||||
}
|
||||
Con::setBoolVariable("$ReflectionProbes::Capturing", RenderProbeMgr::smBakeReflectionProbes);
|
||||
}
|
||||
|
||||
void RenderProbeMgr::postBake()
|
||||
{
|
||||
RenderProbeMgr::smBakeReflectionProbes = false;
|
||||
GFXShader::addGlobalMacro("CAPTURING", String("0"));
|
||||
//Con::setVariable("$Probes::Capturing", "0");
|
||||
AdvancedLightBinManager::smMaximumNumOfLights = mRenderMaximumNumOfLights;
|
||||
AdvancedLightBinManager::smUseLightFade = mRenderUseLightFade;
|
||||
|
||||
//kickstart rendering
|
||||
LightManager* lm = LIGHTMGR;
|
||||
if (lm)
|
||||
{
|
||||
SceneManager* sm = lm->getSceneManager();
|
||||
if (sm && sm->getContainer() == &gClientContainer)
|
||||
{
|
||||
lm->deactivate();
|
||||
lm->activate(sm);
|
||||
}
|
||||
}
|
||||
Con::setBoolVariable("$ReflectionProbes::Capturing", RenderProbeMgr::smBakeReflectionProbes);
|
||||
}
|
||||
|
||||
void RenderProbeMgr::bakeProbe(ReflectionProbe* probe)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue