Evgenii Golubev
824c6f37
Add a null VolumetricLighting shader
7 年前
Evgenii Golubev
18998e01
Implement Beer's law fog
7 年前
Evgenii Golubev
ad1c0846
Ray marching WIP
7 年前
Evgenii Golubev
adcfcfd6
Implement a very basic ray marcher for homogeneous volumes
7 年前
Evgenii Golubev
2cba6a27
Add support for volumetric shadowing and spot lights
7 年前
Evgenii Golubev
6e212a8c
Add a random offset to the ray marching algorithm
7 年前
Evgenii Golubev
9e666ace
Add support for volumetric projector lights and cookies
7 年前
Evgenii Golubev
f52c27f8
Factor out EvaluateCookie_Directional() and EvaluateCookie_Punctual()
7 年前
Evgenii Golubev
c4d1ae02
Optimize the volumetric lighting code
7 年前
Evgenii Golubev
1566610e
Add support for directional lights to volumetrics
7 年前
Evgenii Golubev
420ba926
Make single scattering albedo a color for better GUI
7 年前
Evgenii Golubev
7c8fbd71
Improve fog parametrization (+optimize)
Mean free path is now achromatic. All 4 scalar parameters can now be packed into a [0, 1] sRGB texture.
"Asymmetry" has been renamed to "anisotropy" in the UI (which is a more familiar term for artists).
7 年前
Evgenii Golubev
f9a33825
Use the isotropic phase function as an optimization
7 年前
Evgenii Golubev
f24c6a35
Add analytical transmittance integration
7 年前
Evgenii Golubev
a14273a0
Factor out volumetric lighting code
7 年前
Sebastien Lagarde
c368db5a
HDRenderPipeline: Add support for light specular color tint
7 年前
Evgenii Golubev
a46c0009
Merge the old volumetrics code (WIP)
7 年前
Evgenii Golubev
c212b126
Clean up the volumetric lighting code
7 年前
Evgenii Golubev
766db928
Clean up
7 年前
Evgenii Golubev
43d373d4
TODO: should we divide by ray segment length?
7 年前
Evgenii Golubev
d4501639
Clean up
7 年前
Evgenii Golubev
ad15a498
Scalarize
7 年前
Evgenii Golubev
74cdc355
Clean up
7 年前
Evgenii Golubev
fc439d60
Optimize ImportanceSamplePunctualLight() - more work is needed
7 年前
GitHub
129985d3
Start integration at the origin of the ray
7 年前
Evgenii Golubev
7b797ff7
Merge branch 'master'
7 年前
Evgenii Golubev
02f7f39d
Update the anti-unrolling hack
7 年前
Evgenii Golubev
bb677806
Implement ray-cone intersection
7 年前
Evgenii Golubev
8ee2d44f
Merge 'master'
7 年前
Evgenii Golubev
81d62eb8
Merge branch 'master'
7 年前
Evgenii Golubev
ec7af864
Clean up
7 年前
Evgenii Golubev
e070046d
WIP
7 年前
Evgenii Golubev
c16681df
Merge branch 'master'
7 年前
Evgenii Golubev
33d14b62
Share the light loop code
7 年前
Evgenii Golubev
2d09a867
Add support for pyramid lights
7 年前
Evgenii Golubev
11be6841
Fix the double transmittance bug
7 年前
Evgenii Golubev
a4ca9f56
Start integration from the near plane to avoid artifacts
7 年前
Evgenii Golubev
ae685427
Add support for box lights (unoptimized, WIP)
7 年前
Evgenii Golubev
674ea1ba
Optimize box lights
7 年前
Evgenii Golubev
c9aec5fe
Load precomputed light.range
7 年前
Evgenii Golubev
fc06d6c6
Move V-buffer sampling to AtmosphericScattering.hlsl
7 年前
Evgenii Golubev
016a51ff
Prepare the volumetric reprojection framework
7 年前
Evgenii Golubev
9b7488e1
Factor out EvaluateVoxelLighting()
7 年前
Evgenii Golubev
2b8a0127
Reproject voxel lighting only
7 年前
Evgenii Golubev
8df9f3db
Add some jittering
7 年前
Evgenii Golubev
aaf02499
Add a #define to control reprojection
7 年前
Evgenii Golubev
a013ecb1
Improve the reprojection quality
7 年前
Evgenii Golubev
0bdfbf03
Add a centered ray direction to better support screen space stratification
7 年前
Evgenii Golubev
104a7bbc
Document exponential moving average and update the blend factor
7 年前
GitHub
9d856f65
Do not use division, prefer rcp()
7 年前
Evgenii Golubev
a98ff7da
Merge branch 'volumetrics' of https://github.com/EvgeniiG/ScriptableRenderLoop into volumetrics
7 年前
Evgenii Golubev
97ac113b
Add sphere-packed offsets in XY
7 年前
Evgenii Golubev
ee6179f1
Add more comments
7 年前
Evgenii Golubev
3bacf43d
Add a kernel without reprojection just for the Editor
7 年前
GitHub
485035dc
Replace '>' with '!=', might be faster
7 年前
Evgenii Golubev
924b5cb4
Add a hack to reduce flickering due to undersampling
7 年前
GitHub
811cea70
Add a comment about animated lights
7 年前
Evgenii Golubev
0e919cf3
Add a TODO
7 年前
GitHub
cf64846a
Update comment
7 年前
Evgenii Golubev
4d0996e2
Use HW trilinear filtering for V-Buffer sampling
7 年前
Evgenii Golubev
24634f16
Reduce the reliance on macros for sampling the V-Buffer
7 年前
Evgenii Golubev
389ea636
Move the volumetric lighting preset to ShaderConfig
7 年前
Evgenii Golubev
abd2e6a8
Factor out VBuffer code
7 年前
Evgenii Golubev
c86b3214
Merge branch 'master'
7 年前
GitHub
90a417a1
Add a TODO
7 年前
Evgenii Golubev
83cff96d
Remove attenuation of box lights and massage the code a bit
7 年前
Evgenii Golubev
2680050a
Optimize attenuation functions for ALU
7 年前
Evgenii Golubev
77f9f167
Merge branch 'master'
7 年前
Evgenii Golubev
79935bb5
Disable debug symbols
7 年前
Evgenii Golubev
6e5295d2
Disable debug symbols
7 年前
Evgenii Golubev
ffea0999
Add more phase functions
7 年前
Evgenii Golubev
c1c33a32
Support asymmetry with reprojection
7 年前
Evgenii Golubev
b60509c2
Move VBuffer.hlsl
7 年前
Evgenii Golubev
1ef2e80a
Use an improved (generalized) depth distribution
7 年前
Evgenii Golubev
df21d121
Fix NaNs arising from division by 0
7 年前
Evgenii Golubev
03f7d07a
Add preliminary ambient probe support
7 年前
Evgenii Golubev
58320a0e
Add a way to disable contribution of punctual lights
7 年前
Evgenii Golubev
4ab61ec7
Add basic light probe support to volumetric lighting
7 年前
Evgenii Golubev
3d08aa2e
Use the Cornette-Shanks phase function for the ambient lighting
7 年前
Evgenii Golubev
bdb7b999
Evaluate the ambient probe outside of the loop
7 年前
Evgenii Golubev
df7239df
Add a comment
7 年前
Evgenii Golubev
f1562a13
Optimize the SH code
7 年前
Evgenii Golubev
5cde6c51
Further optimize the SH code
7 年前
Evgenii Golubev
78ee066f
Precompute the phase constant
7 年前
Evgenii Golubev
a2f434d5
Reduce the number of slices by 2x
7 年前
Evgenii Golubev
cf3f599b
Use Peter-Pike's shader code
7 年前
Evgenii Golubev
4f293347
Fix issue with NaNs
7 年前
Evgenii Golubev
d248d9bc
Add a compile-time switch between the full and the empty VolumetricLighting.compute shader
7 年前
Evgenii Golubev
1df1dda7
Rename: "_GlobalFog" -> "_Global", "HomogeneousFog" -> "HomogeneousMediumVolume"
7 年前
Evgenii Golubev
fdd5cb7f
Ignore VBuffer scale
This means there is some fractional error if the screen size is not a multiple of 8 (or 4, depending on settings), but the error is typically less than 1%, so it's not very visible.
7 年前
Antti Tapaninen
ded3a54d
use fastopt with metal, avoid MTLCompilerService sandbox process crash
7 年前
Evgenii Golubev
070349c8
Merge branch 'master'
7 年前
Evgenii Golubev
2bf107d2
Rename to follow convention
7 年前
uygar
275279fa
Introduced new macros for flow control attributes.
7 年前
Julien Ignace
d4548639
Added #pragma_only_renderers to compute shaders.
7 年前
sebastienlagarde
88378544
Bring back dynamic branch for cluster/tile in forward to reduce the number of shader variant
- Bring back dynamic branch for cluster/tile in forward to reduce the
number of shader variant
7 年前
Evgenii Golubev
2047b333
Use a single wavefront group for the volumetric lighting shader
7 年前
Evgenii Golubev
98ba5ff6
Prepare the volume voxelization stub
7 年前
Evgenii Golubev
97460936
Update the kernel signature
7 年前
Evgenii Golubev
f8b3df68
Implement soft semi-conservative voxelization
7 年前
Evgenii Golubev
68e4eace
Implement the soft voxelization hack
7 年前
Evgenii Golubev
202f48a8
Add comments
7 年前
Evgenii Golubev
598b6ad6
Implement the clustered density volume pass
7 年前
Evgenii Golubev
d101e8ec
Remove the loop over clusters from the volumetric lighting pass
7 年前
Evgenii Golubev
4f47b43c
Add a helper function FetchIndexWithBoundsCheck()
7 年前
Evgenii Golubev
72d40c7f
Remove branching for 0 extinction
7 年前
Evgenii Golubev
8ebbdf07
Fix the edge darkening issue with volumetric lighting
7 年前
Evgenii Golubev
92ea5c34
Clean up VBuffer sampling
7 年前
Evgenii Golubev
17d8f4ec
Improve the quality of volumetric lighting reprojection
7 年前
Evgenii Golubev
e51b0e0a
Revert the change which passes sample extinction to light evaluation routines
7 年前
Evgenii Golubev
e2268362
Update comments
7 年前
Kay Chang
53b01e3a
WIP adding Switch support.
7 年前
Kay Chang
c279dc9c
Re-added modified files for Switch without BOM.
7 年前
Evgenii Golubev
00676317
Introduce the VolumetricLightingController component
7 年前
Evgenii Golubev
0be42a4f
Use correct terminology: rename "asymmetry" -> "anisotropy"
According to d'Eon, asymmetric scattering occurs due to anisotropic phase functions in anisotropic participating media.
7 年前
Evgenii Golubev
32c0fc42
Port integral and density buffers to the RTHandle system
7 年前
Evgenii Golubev
e7f0a6d1
Fix issues with light leaking in volumetric lighting
(due to sub-allocation (resource aliasing) of the RTHandle system)
7 年前
sebastienlagarde
f5c6eec7
Merge remote-tracking branch 'refs/remotes/origin/master' into switch_support
7 年前
Evgenii Golubev
91dc696c
Merge upstream/master
7 年前
Evgenii Golubev
7d62d89f
Add a Volumetric Dimmer slider to lights to control the intensity of the scattered volumetric lighting
7 年前
Evgenii Golubev
ebb293eb
Temporarily disable tone mapping of volumetrics to avoid banding artifacts
7 年前
sebastienlagarde
f6e93052
Fix various C sharp and shader warning
7 年前
Evgenii Golubev
1f059c6b
Merge branch 'master' of https://github.com/Unity-Technologies/ScriptableRenderPipeline
7 年前
Antoine Lelievre
f8468529
Removed contact shadows on light transmission
7 年前
Antoine Lelievre
38287b48
Fixed contact shadows with light transmission
7 年前
sebastienlagarde
aa5363e0
Refactor tranmission and lightEvaluation code to have more cleaner code
6 年前
sebastienlagarde
1fa4d8c6
Mpore update with feedback
6 年前
sebastienlagarde
b3199d5d
integrate PR feedback
6 年前
sebastienlagarde
8b67841a
More feedback
6 年前
sebastienlagarde
7f925a28
More comment
6 年前
sebastienlagarde
ab0a427d
Silent some warning
6 年前
Evgenii Golubev
f7ce098c
Add an option to the HDRP asset to increase the resolution of volumetric lighting
6 年前
sebastienlagarde
1555fbce
HDRP: More renaming for camera relative rendering (rename lightDefinition)
6 年前
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 年前
GitHub
80cd2648
Stop NaN propagation within volumetric lighting shader
6 年前
Evgenii Golubev
bee9896f
Stop NaN propagation within volumetric lighting shader (v2)
6 年前