sebastienlagarde
91937fed
HDRenderLoop: Merge FPTL - start light application
- all broken for now
8 年前
Sebastien Lagarde
a91df7f9
HDRenderLoop: Merge FTPL - application of opaque tiled lists (untested)
8 年前
sebastienlagarde
f15e0c7c
HDREnderLoop: First draft of new layeredLit shader
8 年前
Sebastien Lagarde
557e77d1
HDRenderLoop: First almost working version of tile from FPTL
8 年前
Sebastien Lagarde
41117464
HDRenderLoop: FPTL Tile pass working with direct light, not working correctly with cubemap
8 年前
runes
1ff2ff4b
Moved debug rendering of tile lists to separate shader pass
8 年前
sebastienlagarde
8cac0660
HDRenderLoop: Clean some formatting error + fix issue with define
8 年前
sebastienlagarde
898ec83d
HDRenderLoop: Misc fix for making cluster FPTL work, still not working
8 年前
Sebastien Lagarde
62c01cdd
HDRenderLoop: First no working version of cluster FPTL
8 年前
runes
6d7d07de
TilePass support for arealights
8 年前
runes
36e49e0d
Minor refactoring in HDRenderLoop: Renamed light types are now referred to as volumes and light models are now referred to as light categories
8 年前
sebastienlagarde
5882c727
HDRenderLoop: Draft of refator not working
8 年前
Sebastien Lagarde
546401a2
HDRenderLoop: Version that compile and display something
8 年前
Sebastien Lagarde
1b338186
HDRenderLoop: SinglePAss work but Tile is broken...
8 年前
sebastienlagarde
935b09ec
HDRenderLoop: Fix issue with tiled lighting, now working as before the refactor
8 年前
Sebastien Lagarde
521b51c7
HDRenderLoop: Big refactor to preprate for depthOffsetVs
8 年前
Sebastien Lagarde
0ba2f558
HDRenderPipeline: Fix issue with cluster rendering - enable by default with tile for opaque
Thing Left:
- Make the debug mode work in forward! (important for forward only)
- In forward only, the tiled lighting doesn't work. All lights structure
are given to the shaders but is like you have no direct lighting
8 年前
uygar
2a8f7eaa
Added missing files from initial commit.
8 年前
Julien Ignace
60dd6c48
Implemented lighting debug in the shader.
8 年前
uygar
c8a27740
Merge branch 'master' into shadows
8 年前
mmikk
f8fb534f
allow clustered tiled to use 16, 32 or 64 as its tile size
allow clustered tiled to use 16, 32 or 64 as its tile size. Fptl will
remain 16x16 due to its per pixel nature.
8 年前
sebastienlagarde
20a72b30
HDRenderPipeline: Change from 16x16 to 32x32 tile size for clustered
- Shader opaque compute doens't work
- Seems that if we disable clustered for forward, the fallback have some
conflict with tiling (not a use mode as the fallback is just a debug
mode but should not happen).
8 年前
Julien Ignace
17a9cbd9
Added a lighting debug mode to visualize Cascaded shadow splits.
8 年前
Julien Ignace
293776aa
Compilation fix on PS4: removed static keyword and reverted Cluster size to 16 because there's not enough VGPR on PS4 to compile it otherwise (to investigate)
8 年前
Evgenii Golubev
5a2aa8b3
Fix flickering issues on PS4 for the single pass loop (+ initial fixes for FPTL)
Flickering is caused by the delay between values in the constant buffer (globals) and values in structured buffers becoming visible in the Deferred shader. It appears that the update latency (the number of frames between setting the value in C# and being able to access it in a shader) varies depending on the type of buffer. Therefore, moving globals into a structured buffer provides a workaround for the single pass loop.
Doing the same for FPTL does not appear to be sufficient. Could be that the additional compute pass introduces extra frame(s) of latency, or that globals from ShaderVariables.hlsl need to be moved as well.
Globals from Clustered appear to be set once for multiple shaders, which makes implementing a similar workarond even more complicated.
8 年前
runes
c445e599
Explicit tile coordinates in GetPositionInput.
~10% faster tile deferred light evaluation in compute
8 年前
Antti Tapaninen
09c4949e
HLSLcc: fix out of bounds issues on Metal/iOS, HLSL bytecode being the root cause before Metal generated shaders
8 年前
sebastienlagarde
f16a65f7
HDRenderPipeline: revert recent change on structure buffer for shader for PS4 as it was not the problem
8 年前
runes
f120a09b
added feature branches to lightloop
initial set of feature variant shaders
8 年前
uygar
cefe8b15
Merge branch 'master' into shadows
8 年前
Antti Tapaninen
ac01ea01
HLSLcc: fix out of bounds issues on Metal/iOS, HLSL bytecode being the root cause before Metal generated shaders
8 年前
Tim Cooper
c30d33b8
[Format]Reformat via format.pl to match the new conventions
8 年前
runes
918c1797
Feature flags now also include material/gbuffer flags.
8 年前
Evgenii Golubev
f5b4c7e9
Implement orthographic projector lights (single pass loop only)
8 年前
Evgenii Golubev
6c81aaea
Implement tile & cluster support for orthographic projector lights
8 年前
uygar
8db09493
Merge branch 'master' into shadows
8 年前
sebastienlagarde
ed55ce8f
HDRenderPipeline: Clean debgu settings
- Merge debugViewMaterial with Lightingdebug mode into a DisplayDebug
(less pass)
- Clean debug code, remove useless file
8 年前
uygar
d82162c7
Merge branch 'master' of https://github.com/Unity-Technologies/ScriptableRenderLoop into shadows
8 年前
uygar
c0b6dcd6
Removed the old shadow system.
Removed the temporary namespace ShadowExp.
8 年前
Sebastien Lagarde
3185a7c5
HDRenderPipeline: Replace TILE_SIZE MACRO by GetTileSize()
8 年前
Julien Ignace
25092737
Simplified (hopefully) the way we display material and lighting debug modes.
Material/Engine/Attributes/GBuffer are now clearly separated in the UI.
8 年前
Sebastien Lagarde
58f36f39
Merge remote-tracking branch 'refs/remotes/origin/master' into shadows
# Conflicts:
# Assets/ScriptableRenderPipeline/HDRenderPipeline/HDRenderPipeline.cs
# Assets/ScriptableRenderPipeline/HDRenderPipeline/Material/Lit/Lit.hlsl
8 年前
Sebastien Lagarde
36142eb8
HDRenderPipeline: Update SSAO effect
8 年前
Sebastien Lagarde
d42c60fe
HDRenderPipeline: Fix EOL and shader compil issue for AO
8 年前
Sebastien Lagarde
9fc86a1e
HDRenderPipeline: Update SSAO settings
8 年前
Sebastien Lagarde
62bb2f57
HDRenderPipeline: Disable SSAO for now
8 年前
sebastienlagarde
6efb11c7
HDRenderPipeline: Finish to fix issue with AO
Store inverse AO in the buffer to to waste a sampler in lightloop
8 年前
Julien Ignace
b09d5f72
- Cleaned up CommonSettings from Cascaded parameters which are now in the light.
- Cleaned up some now useless code in the init code of shadow system
- Split ShadowSettings struct into two different parts. One for the init and the other for the per frame setup
- Cleaned up HDRenderPipeline a bit (mostly moving logic stuff from the asset to the instance itself)
8 年前
sebastienlagarde
0e6f3478
HDRenderPipeline: update shader generator and code to match C# static naming convention
8 年前
Evgenii Golubev
4a9e84ed
Merge projector lights into punctual lights
8 年前
sebastienlagarde
e6e216f8
push not compiling code
8 年前
Julien Ignace
36db30a0
Improved VGPR pressure for Area Light lighting code.
Actual current max VGPR is still high due to shadow filtering code but the area light peak is fixed.
8 年前
sebastienlagarde
69171f62
Main interface is now EvaluateBSDF_Area
7 年前
sebastienlagarde
5ba18d3a
Add variant for material classification + clean split lighting evaluation
7 年前
sebastienlagarde
6a6e049c
HDRenderPipeline: Rename ShadeOpaque => deferred.compute + AO can affect direct lighting
- and clean the TilePassLoop to have less code duplication
7 年前
sebastienlagarde
b26d474f
HDRenderPipeline: Fix issue in tilepass are light loop
7 年前
Evgenii Golubev
ae1d5714
Apply reflection probes in the order defined by their volume
7 年前
sebastienlagarde
ff9d0813
HDRenderPipeline: factor IBL weight function in lightloop
7 年前
sebastienlagarde
c635afcd
Add multi bounce approximation on SSAO (Colored AO)
7 年前
Frédéric Vauchelles
90b2eb1e
Added refraction, roughness refraction and transparency absorption
7 年前
Sebastien Lagarde
281e0be9
Optimize Sky case and setup new rules for projection and influence shape of reflection probe
- Add light type to evaluateBSDF_env prototype. This allow the compiler
to optimize the sky case.
- Clean unused code
- Put the constrain that shape influence and shape projection match and
that shape projection can be setup at infitinte to simulate no shape
projection (but keep influence)
7 年前
Sebastien Lagarde
ec73e7bd
Make evalue punctual bsdf prototype match area and env
7 年前
Sebastien Lagarde
a0915eb9
Move ambient occlusion code from LightingLoopContext to lit.hlsl
- rename ltc_linear_clamp_sampler and ltc_trilinear_clamp_sampler to
s_linear_clamp_sampler and s_trilinear_clamp_sampler
- remove ambient occlusion from LightingLoopContext as it should not be
here, and move it to EvalutePostBSDF
7 年前
Sebastien Lagarde
935bfd9b
HDRenderPipeline: Refactor LightLoop glue code
- add a "Lighting" structure in material that replace LightAccumulator
- use it in all prototype
- Material now apply the weights
7 年前
Sebastien Lagarde
aab7798a
HDRenderPipeline: Add refraction cubemap support
- Just a draft, don't work correctly
7 年前
sebastienlagarde
1d286a5e
Refactor after feedback of the PR
7 年前
sebastienlagarde
687e2270
fix aggregateLighting typo
7 年前
sebastienlagarde
bc558cb7
HDRenderPipeline: Rename ImageBasedLighting to IndirectLighting
7 年前
sebastienlagarde
c0b5b529
HDRenderPipeline: Fix issue with accumate light not accumulating correctly
7 年前
sebastienlagarde
e2537ce0
Merge remote-tracking branch 'refs/remotes/origin/Unity-2017.3' into Add-refraction-cubemap-support
# Conflicts:
# ScriptableRenderPipeline/HDRenderPipeline/Lighting/TilePass/TilePassLoop.hlsl
# ScriptableRenderPipeline/HDRenderPipeline/Material/Lit/Lit.hlsl
7 年前
sebastienlagarde
3f72173b
Fix issue with wrong blend hierarchy used
7 年前
Sebastien Lagarde
36f3cfd4
merge unity 2017.3
7 年前
Evgenii Golubev
43d373d4
TODO: should we divide by ray segment length?
7 年前
Sebastien Lagarde
61e9390a
HDRenderPipeline: Fix the pipeline to be fptl for opaque and cluster for transparent
- remove all the cluster settings option
7 年前
Evgenii Golubev
7b797ff7
Merge branch 'master'
7 年前
Evgenii Golubev
6f8ec8c3
Global rename: 'depthRaw' -> 'deviceDepth', 'depthVS -> linearDepth'
7 年前
Evgenii Golubev
8ed2bde7
Refactor directional and punctual light code
7 年前
Evgenii Golubev
93a7de37
Remove EvaluateBSDF_Area()
BEFORE
; Disassembly for GCN (Pitcairn)
; -------- Statistics ---------------------
; SGPRs: 100 out of 104 used
; VGPRs: 156 out of 256 used
; LDS: 0 out of 32768 bytes used
; 0 bytes scratch space used
; Instructions: 2652 ALU, 178 Control Flow, 78 TFETCH
AFTER
; Disassembly for GCN (Pitcairn)
; -------- Statistics ---------------------
; SGPRs: 100 out of 104 used
; VGPRs: 156 out of 256 used
; LDS: 0 out of 32768 bytes used
; 0 bytes scratch space used
; Instructions: 2651 ALU, 160 Control Flow, 82 TFETCH
There are 2 extra texture fetches (at the end of one of the area light loops) rather than 4 - the statistics are being pessimistic. These are repeated texture fetches and are a 100% cache hit.
7 年前
Evgenii Golubev
fb4e09f9
Optimize punctual light evaluation by having an inlined function per light type
7 年前
Evgenii Golubev
c2749fb3
Clean up TilePassLoop
7 年前
Evgenii Golubev
f2463daf
Revert to a single loop over all punctual lights
7 年前
Evgenii Golubev
0ed1b80b
Global rename
positionSS -> positionNDC
unPositionSS -> positionSS
unTileCoord -> tileCoord
ComputeScreenSpacePosition() -> ComputeNormalizedDeviceCoordinates()
7 年前
Evgenii Golubev
40cfe5f3
Reintroduce EvaluateBSDF_Area()
7 年前
Evgenii Golubev
8ee2d44f
Merge 'master'
7 年前
Evgenii Golubev
8bbcaa8f
Factor out TilePass.hlsl
7 年前
Evgenii Golubev
66b71b35
Remove TilePass.hlsl
7 年前
GitHub
f8f8902d
Remove a redundant test
7 年前
Frédéric Vauchelles
3e63b300
[PlanarReflection] (wip) refactoring projection volume in light loop
7 年前
Frédéric Vauchelles
a0451785
[PlanarReflection] (wip) refactoring env lights
7 年前
sebastienlagarde
d1c884e4
Add Lux meter debug mode
7 年前
Sebastien Lagarde
8820a5f9
Update LuxMeter debugview
7 年前
Frédéric Vauchelles
ca10cd2f
Merge
7 年前
Frédéric Vauchelles
9a41a6d7
[PlanarReflections] Small fixes
7 年前
Frédéric Vauchelles
504ba0e9
[PlanarProbes] Packed env light data and env proxy data
7 年前
Frédéric Vauchelles
eff3ca9e
[PlanarProbe] (wip) packing envlightdata structure
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 年前
Frédéric Vauchelles
3c9e76d4
Merging SSRefraction and SSReflection functions
7 年前
sebastienlagarde
2c61701c
Merge remote-tracking branch 'refs/remotes/origin/master' into shadows-biasing
7 年前
Julien Ignace
8c4ec6a4
- Visualize Cascade debug mode now fades to white instead of black
- Removed jittering when having TAA but looking at debug views.
- Fixed Rendering Debug menu not being removed correctly on domain reload.
7 年前
uygar
f40129d8
Fixed blending of inactive cascades.
7 年前
Julien Ignace
36fb4e21
Added debug exposure parameter to several debug modes.
7 年前
Frédéric Vauchelles
4fbb1c4f
(wip) Added refraction model
7 年前
Frédéric Vauchelles
c96eb98a
(wip) Fixed refraction with sky proxy
7 年前
Frédéric Vauchelles
9fffc822
Unrolled first iteration
7 年前
Frédéric Vauchelles
99ec03cb
Used the MERGE_NAME macro
7 年前
Frédéric Vauchelles
659b634a
Added wip pass for SSReflection
7 年前
Frédéric Vauchelles
403264e2
Fixed light loop hierarchy
7 年前
Sebastien Lagarde
016a2305
HDRenderPipeline: Fix shader and C# warning + re-arrange lightloop for env
7 年前
Frédéric Vauchelles
4bd00e90
Merge master
7 年前
Frédéric Vauchelles
a3477180
Update SSR for deferred
7 年前
Frédéric Vauchelles
a7658549
Various fixes
7 年前
Antoine Lelievre
7edc74d1
Refacto for better code integration
7 年前
Antoine Lelievre
a69f06e6
Removed useless kernel
7 年前
Antoine Lelievre
78777de4
Added somne descriptive comments
7 年前
sebastienlagarde
aa607e4a
HDRP: Move contactShadow from shadow context to light context (fix warning)
7 年前
sebastienlagarde
aa5363e0
Refactor tranmission and lightEvaluation code to have more cleaner code
7 年前
GitHub
80d748f5
Add light linking support ( #1758 )
* HDRP: Add support of light layering for forward (first draft)
TODO:
- Test instancing
- Check perf
- add an option to disable light layer support + in frameSettings
- add deferred rendering support (mean add an optional extra GBuffer)
* Add LightLinking support (version 1 - compile)
This PR add support of LightLayers feature.
To use it, setup mask renderingLayers on renderers and LightLayers on a lights. If a logical and of both give a non 0 value, the light is apply, otherwise it isn't.
This mean that by default LightLayers is 1 and RenderingLayers is 1. Then user can say LightLayers is only 2 and it will only affect renderingLayers with 2 or 3 mask value.
LightLayers require an extra GBuffer in deferred, mean it have extra bandwidth and memory cost.
LightLayers once enabled in HDRPAsset with SupportLightLayers can be control by FrameSettings. Mean a camera can enable extra RT only for an in game cinematic.
This PR refactor...
6 年前
Sebastien Lagarde
f0619d1d
Handle emissiveColor separate of bakeDiffuseLighting in forward
6 年前
RSlysz
30b7aca0
Add support for LightLayers on reflection probe
6 年前
sebastienlagarde
b8aab929
Fix issue with sky that was not lighting correctly the scene
6 年前