- Rename all "loop" name to "pipeline" name for FPTL/Basic/HD
- Update all include in HDRenderPipeline to match C++ #include path that
is Asset/ScriptableRenderPipeline
Caution: This PR require the new C++ code
Before we have ForwardOpaqueOnly and ForwardOpaqueDepthOnly and they
were required to be both present at the same time in sahder with regular
pass. Now pass are exclusive:
Guidelines: In deferred by default there is no opaque in forward.
However it is possible to force an opaque material to render in
forward
by using the pass "ForwardOnly". In this case the .shader should
not have "Forward" but only a "ForwardOnly" pass.
It must also have a
"DepthForwardOnly" and no "DepthOnly" pass as forward material (either
deferred or forward only rendering) have always a depth pass.
- rename _LinearFogOoRange as _LinearFogOneOverRange
- add _BLENDMODE_ACCURATE_LIGHTING keyword
- change _ENABLE_FOG to _ENABLE_TRANSPARENT_FOG
- update test scene
- fix issue with refractoinMask not correct by default- rename
_LinearFogOoRange as _LinearFogOneOverRange
- add _BLENDMODE_ACCURATE_LIGHTING keyword
- change _ENABLE_FOG to _ENABLE_TRANSPARENT_FOG
- update test scene
- Change alpha blend mode to One / InvSrc alpha and the multiplication
is done in the shader. Avoid precision issue
- Make a comment ApplyBlendMode function
- Update test scene
- Fix an issue with the UI and the Popup of blend mode
- Create clearColorAllBlack to have color with alpha channel with 0 for
clear.
- Add shadowmask and occlusion probe sampling functions
- Add various debug feature for shadow mask
- Refactor GBuffer manager
- Add SHADOWS_SHADOWMASK keyword to our various lit and debug shader
- In deferred, SHADOWS_SHADOWMASK add an extra GBuffer
- Create a BakeLightingData that contain bakeDiffuseLighting +
bakeShadowMask
- Update all lightLoop call with this new BakeLightingData struct, pass
it to EvaluateBSDF_XXX function
- Move #pragma multi_compile from .shader to pass that require it
(unsure if this save variant)
- Merged PerFrame/PerView into UnityGlobal
- Merged most sub systems constant buffers into UnityGlobal (decal, subsurface, lighting, ...)
- Moved AtmosphericScattering into the Lighting folder.
* 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...