The old system is still in place and is executing, alongside the new system.
Rendering will use the results of the new system, though.
Shadowmap rendering now happens after light lists have been generated.
All relevant files are in the Shadow subfolder.
The basic file structure is:
- ShadowBase.cs has interface and base class definitions
- Shadow.cs has default implementations
- Shadow.hlsl is the default header to be included by shaders
TilePass.cs currently owns the shadows via its InitShadowSystem function.
Modified ShadowManager to take an array of shadow maps instead of only one. The shadowmanager will allocate lights according to each shadowmap's supported shadows mask. Shadowmaps are traversed in order specified in the constructor. Currently there's a limit of 4 maps per light type.
Changed shadow sampling functions in shader code to support multiple comparison samplers.
Modified tilepass to pass two shadowmaps, one for directional, one for point lights, to the shadowmanager to test the new functionality. This will probably change again soon.
Changed the shadow context declaration so no code for cubemaps will be generated, anymore.
Modified the texfetch functions. Instead of returning from the loop the routines only break. This fixes a warning about an uninitialized variable and also leads to fewer instructions generated.
Restructured ShadowDispatch.hlsl a little bit to make changing resources and algorithms a bit easier.
Added support for the new shadow library to fptl.
Introduced a new shadow include inline file to support different shadow setups for different light loops per project.
Restructured the code a bit in order to support multiple instances per project.
Fixed and issue with broken shaders when one of the samplers was set to 0.
- Rename "Common" folder "Core" folder
- Move fptl specific code from common to fptl (skyhelper, shaderbase.h)
- Move hdrp specific code from common to hdrp (resource
blitcubemap.shader)
- Remove "tutorial" on basicRenderPipeline folder name
- Update path name in shader for shadow include
- Fix misc warning in shaders
Added:
- normal+view biasing
- light view only biasing
- per sample biasing for wide PCF filters
- corner light leaking mitigation
- defines to control what type of biasing should be enabled
- a few new UI controls in the additionalshadowdata component
Removed previous biasing controls. They won't have any effect anymore.