uygar
1d081a77
Moved shadow related files into ShaderLibrary and common to reflect their general usage.
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.
8 年前
uygar
1996704d
Fixed hardcoded shadow resource path incorrectly handling out of bounds cases.
Fixed directional lights being subject to shadow distance calculations.
Fixed errors when having empty cascades.
8 年前
uygar
ca95a021
Fixed broken cascade selection with high camera FoVs.
8 年前
uygar
303965c0
Fixed normal bias leading to light leaking with point shadows.
7 年前
uygar
178ae77f
Added smooth cascade transitions to cascaded shadowmaps.
7 年前
Julien Ignace
f7e74b01
Fixed shader compilation on PS4
7 年前
uygar
876f9979
Added dithering to cascade transitions. There are now two functions to choose from, to either blend between cascades doing two fetches, or dither doing just one fetch.
Added functions to query the world space position of a shadowmap sample.
7 年前
Julien Ignace
d4b9dd15
Split directional shadow resolution in a different pass to reduce VGPR pressure during tile lighting.
7 年前
uygar
6f7557f5
Added new define to control register usage in the shadow library.
7 年前
uygar
9b9762a3
Optimized register usage for cascade dithering.
Modified static directional shadow code to accept a different algorithm per cascade.
Fixed a warning related to converting a float2 to a uint2.
7 年前
sebastienlagarde
5a6d78c4
Update project from sratch
7 年前
sebastienlagarde
cd5fd6d3
merge latest 2017.3
7 年前
sebastienlagarde
d83489f4
Change ShaderLibrary to use REAL instead of float/half
7 年前
sebastienlagarde
ecdf681c
ShaderLibrary, change REAL to real
7 年前
Evgenii Golubev
0d923468
Pass the light position to the shadow code
7 年前
uygar
e374ee47
Shadows are now evaluated using the device projection matrices directly, making inverseZ handling in the shader unneccessary for PCF sampling.
7 年前
uygar
c8556633
Changed shadow biasing. Biasing can now use normal and light vector information to avoid artifacts.
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.
7 年前
Evgenii Golubev
a3209dd5
Fix INTRINSIC_CUBEMAP_FACE_ID
7 年前
uygar
81cb95dc
Merge branch 'master' into shadows-biasing
7 年前
uygar
c278421b
Added new helper function to calculate a guard angle for spot and point lights that gets added to the given fov so that biasing and filtering cannot access the shadowmap outside the valid range.
7 年前
uygar
f5518a7e
Limited per face information to matrices and atlas offsets to cut down on register usage.
7 年前
uygar
74b782e2
Added new parameters to control the edge leak fixup.
Agreessiveness of the fixup can be controled, and the reference vector can either be set to the normal if available or the view vector.
7 年前
uygar
34eeceb3
Moved slice into a separate float to avoid unnecessary casting in the shader.
7 年前
uygar
ae42e524
Split shadow matrix into separate components to selectively load per face data for point lights to improve register usage.
7 年前
uygar
34443229
Separated light and cascade data loading for directional lights.
Introduced clear rect rendering to avoid clearing the entire shadowmap.
7 年前
uygar
775d3f32
Optimized cascade selection code to reduce register usage.
Added additional texture size parameter to tent filters to avoid rcp calculations using up registers.
Removed unused scale parameter from directional light payloads.
7 年前
uygar
b3808fd1
Rewrote sample bias computation to reduce register pressure.
Added new guard to 5x5 filter computation, as in certain combinations it can increase register pressure.
7 年前
uygar
f35513eb
Removed cascade clamping in shader again. Internally there's a hardcoded 10 texel guardband around a cascade which seems to be good enough for now.
7 年前
uygar
75a06b95
Added a combined contact shadows + normal biasing pass.
Replaced shadow specific cubemap face function. The shadow system is now going to use the one from common.hlsl.
Renamed nrml to normal.
Added a few comments.
7 年前
uygar
275279fa
Introduced new macros for flow control attributes.
7 年前
uygar
3251dfad
Fixed cascade selection when there are less than max cascades.
7 年前
Evgenii Golubev
54ddb928
Improve the quality of the auto-thickness results
7 年前
Evgenii Golubev
e8f79895
Remove EvalShadow_SampleClosestDistance_Cascade()
7 年前
Evgenii Golubev
720c8a19
Merge branch 'master'
7 年前
sebastienlagarde
e83e0cea
Bring back SampleClosestDistance_Cascade
7 年前
uygar
f40129d8
Fixed blending of inactive cascades.
7 年前
sebastienlagarde
8d684e8b
Fix issue with shadow mask + small optim
7 年前
Tim Cooper
fafb59af
Run code formatter.
7 年前