MCPcopy Create free account
hub / github.com/TorqueGameEngines/Torque3D / render

Method render

Engine/source/renderInstance/renderProbeMgr.cpp:831–945  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

829}
830
831void RenderProbeMgr::render( SceneRenderState *state )
832{
833 if (getProbeArrayEffect() == nullptr)
834 {
835 mActiveProbes.clear();
836 return;
837 }
838
839 GFXDEBUGEVENT_SCOPE(RenderProbeMgr_render, ColorI::WHITE);
840
841 //Sort the active probes
842 mActiveProbes.sort(_probeScoreCmp);
843
844 // Initialize and set the per-frame data
845 _setupPerFrameParameters(state);
846
847 // Early out if nothing to draw.
848 if ((!RenderProbeMgr::smRenderReflectionProbes && !dStrcmp(Con::getVariable("$Probes::Capturing", "0"), "1")) || (!mHasSkylight && mProbeData.effectiveProbeCount == 0))
849 {
850 getProbeArrayEffect()->setSkip(true);
851 mActiveProbes.clear();
852 return;
853 }
854
855 GFXTransformSaver saver;
856
857 //Visualization
858 String useDebugAtten = Con::getVariable("$Probes::showAttenuation", "0");
859 mProbeArrayEffect->setShaderMacro("DEBUGVIZ_ATTENUATION", useDebugAtten);
860
861 String useDebugSpecCubemap = Con::getVariable("$Probes::showSpecularCubemaps", "0");
862 mProbeArrayEffect->setShaderMacro("DEBUGVIZ_SPECCUBEMAP", useDebugSpecCubemap);
863
864 String useDebugDiffuseCubemap = Con::getVariable("$Probes::showDiffuseCubemaps", "0");
865 mProbeArrayEffect->setShaderMacro("DEBUGVIZ_DIFFCUBEMAP", useDebugDiffuseCubemap);
866
867 String useDebugContrib = Con::getVariable("$Probes::showProbeContrib", "0");
868 mProbeArrayEffect->setShaderMacro("DEBUGVIZ_CONTRIB", useDebugContrib);
869
870 if(mHasSkylight && mProbeData.effectiveProbeCount == 0)
871 mProbeArrayEffect->setShaderMacro("SKYLIGHT_ONLY", "1");
872 else
873 mProbeArrayEffect->setShaderMacro("SKYLIGHT_ONLY", "0");
874
875 String probePerFrame = Con::getVariable("$pref::MaxProbesPerFrame", "8");
876 mProbeArrayEffect->setShaderMacro("MAX_PROBES", probePerFrame);
877
878 String probeCapturing = Con::getVariable("$Probes::Capturing", "0");
879 mProbeArrayEffect->setShaderMacro("CAPTURING", probeCapturing);
880
881 mProbeArrayEffect->setTexture(3, mBRDFTexture);
882 mProbeArrayEffect->setCubemapArrayTexture(4, mPrefilterArray);
883 mProbeArrayEffect->setCubemapArrayTexture(5, mIrradianceArray);
884 mProbeArrayEffect->setTexture(6, mWetnessTexture);
885 //ssao mask
886 if (AdvancedLightBinManager::smUseSSAOMask)
887 {
888 //find ssaoMask

Callers

nothing calls this directly

Calls 15

getVariableFunction · 0.85
setSkipMethod · 0.80
setShaderMacroMethod · 0.80
setShaderConstMethod · 0.80
randFMethod · 0.80
dStrcmpFunction · 0.50
findFunction · 0.50
GFXTexHandleClass · 0.50
StringClass · 0.50
Point4FClass · 0.50
clearMethod · 0.45

Tested by

no test coverage detected