Torque3D/Engine/source/scene
Azaezel 2753f562e8 shadow caching
SPECIAL NOTE: highly suggest https://github.com/GarageGames/Torque3D/pull/1441 or a variation thereof to prevent debug spew and false-postives for occlusion results.

With significant research, development and prototyping assistance from both @andr3wmac (shaders and partial hook work), and @LuisAntonRebollo (additional culling)

System operates as follows:
1) materials are given an additional castDynamicShadows boolean entry. (Default at time of writing is true by request. Personal usage at time of writing defaults to false. value is default-initialized in materialDefinition.cpp. script/gui exposed)
2) lights are given a staticRefreshFreq and dynamicRefreshFreq (in milliseconds). script/gui exposed
3) materials are (effectively) sorted into dynamic and static shadowmap render lists based on flag. (see shadowMapPass.cpp)
4) initial shadowmaps are generated for each light and 'list'.
5) as each refreshFreq times out, the relevant shadowmap for a given light is refreshed.

Special notes:
dynamicRefreshFreq for all lights is set to a (script exposed) 8MS refresh timer.
StaticRefreshFreq for the lions share of lights defaults to 250 MS (1/4 of a second)
scattersky's embedded light, which is intended to operate in a mobile manner, defaults to 8
to reiterate, these are all customizable per-light via script/inspector gui in the case of alternate project needs.
2015-10-13 18:12:19 -05:00
..
culling shadow caching 2015-10-13 18:12:19 -05:00
mixin Add missing include guards to some headers 2015-01-06 00:42:33 -05:00
zones replaced UNUSED and assert combination by a fixed up assert macro - thanks luis! :) 2014-03-15 12:50:38 +01:00
fogStructs.h Default value for WaterFogData plane distance 2013-11-04 13:24:16 -05:00
pathManager.cpp Fix member vars left uninitialized in constructors 2015-02-20 18:41:51 -05:00
pathManager.h Engine directory for ticket #1 2012-09-19 11:15:01 -04:00
reflectionManager.cpp Fix uninitialized member vars 2014-12-13 16:08:47 -05:00
reflectionManager.h Fix for Issue #124 for CustomMaterial Refraction 2012-11-08 16:00:52 -05:00
reflectionMatHook.cpp Engine directory for ticket #1 2012-09-19 11:15:01 -04:00
reflectionMatHook.h Engine directory for ticket #1 2012-09-19 11:15:01 -04:00
reflector.cpp Basic fix for stereo rendering without a display device 2015-06-21 20:59:41 +01:00
reflector.h clean PlaneReflector member variables declaration. 2014-11-30 05:16:56 +01:00
sceneCameraState.cpp Engine directory for ticket #1 2012-09-19 11:15:01 -04:00
sceneCameraState.h Engine directory for ticket #1 2012-09-19 11:15:01 -04:00
sceneContainer.cpp Merges in Monkey's fixes PR with a resolution for a conflict 2015-09-03 22:58:57 -05:00
sceneContainer.h Added PLC_Navigation hint for gathering navmesh polygon data. 2013-07-04 17:23:23 +10:00
sceneManager.cpp Basic fix for stereo rendering without a display device 2015-06-21 20:59:41 +01:00
sceneManager.h Made some tweaks so I'm happy with it. 2014-12-07 19:14:06 +11:00
sceneObject.cpp Fixed bug with comparison cases of getRenderEnabled 2015-02-03 14:18:06 -08:00
sceneObject.h cleaned up variant of https://github.com/GarageGames/Torque3D/pull/768 alterations: opengl support, in-shader bug-reporting, direction vector fit to material slider-bar. 2014-12-21 14:07:42 -06:00
sceneObjectLightingPlugin.h Engine directory for ticket #1 2012-09-19 11:15:01 -04:00
scenePolyhedralSpace.cpp Engine directory for ticket #1 2012-09-19 11:15:01 -04:00
scenePolyhedralSpace.h Fix for link error when building with clang-cl 2015-03-04 19:25:11 -05:00
sceneRenderState.cpp Side by side rendering 2013-04-09 15:19:18 -04:00
sceneRenderState.h SceneCullingState with culling and camera frustum 2013-11-07 15:07:16 -05:00
sceneSpace.cpp Engine directory for ticket #1 2012-09-19 11:15:01 -04:00
sceneSpace.h Engine directory for ticket #1 2012-09-19 11:15:01 -04:00
sceneTracker.cpp Engine directory for ticket #1 2012-09-19 11:15:01 -04:00
sceneTracker.h Engine directory for ticket #1 2012-09-19 11:15:01 -04:00
sgUtil.cpp Engine directory for ticket #1 2012-09-19 11:15:01 -04:00
sgUtil.h Engine directory for ticket #1 2012-09-19 11:15:01 -04:00
simPath.cpp Remove unneeded double-initialization of the vars. 2014-10-19 14:30:46 +11:00
simPath.h Engine directory for ticket #1 2012-09-19 11:15:01 -04:00