Skip to content

Commit

Permalink
Universal/light layers (#3677)
Browse files Browse the repository at this point in the history
* Initial light layer support.

* Updated changelog.

* Auto-formatting.

* Update com.unity.render-pipelines.universal/CHANGELOG.md

Co-authored-by: Peter Bay Bastian <pbbastian@users.noreply.github.com>

* Minor fixes.

* Adjusted code to compile out IsMatchingLightLayer() when light layers are disabled (confirmed the code is compiled out on Switch).

* Refactoring.
Fixed small bug with gbuffer index calculation when shadowMask and lightLayers are enabled.
Updated comment for unity_RenderingLayer.

* Added test scenes for light layers (148_Lighting_LightLayers and 148_Lighting_LightLayers_deferred).

* Formating.

* Disable filtering for lightmaps.

* Added 148_Lighting_LightLayers and 148_Lighting_LightLayers_deferred in list of scenes to build and test.

* AdditionalLightData is now unconditionally created when OnEnable() is called, removed unecessary code to create it when light layers are enabled.

* Added some reference images.

* Added fake quality level that references UniversalRPAssetLightLayers.asset as a workaround for ShaderPreprocessor otherwise stripping too much.

* Moved UI element for light layer mask in Light inspector.
Renamed linkLightLayer for shadow to customShadowLayer.

* Detect invalid platforms (GLES2) and display error message.

* More reference images.

* Reference images.

* Wait for 2 frames before taking screenshots. This fixes the test scenes failing on Android GLES3.

* Reference images.

* Tweaked error message.

* Removed duplicate assets.

* Updated UX to match HDRP.
SwapPipelineAsset file redirected to new path.

* Fixed null reference in Player mode.

* Update com.unity.render-pipelines.universal/Runtime/DeferredLights.cs

Fixed typo in comment.

Co-authored-by: Felipe Lira <felipedrl@gmail.com>

* Added comment.

* Moved rendering layer texture from 32 to 8 bits as currently only light layers are stored inside.

* A lot of internal renaming from lightLayers to layerMask.

* Hide light layers for baked lights.

* Fixed formatting to pass yamato format test.

* Terrain vertex lit ignores light layers (because default vertex lit code does so too).
Added missing "instancing_options renderinglayer" to terrain shaders.

* More missing instancing_option renderinglayer.

* Temporarily sable 153_Lighting_EnlightenTerrain.unity because it is broken on iOS device with light layer shader variant addition.

Co-authored-by: Peter Bay Bastian <pbbastian@users.noreply.github.com>
Co-authored-by: Felipe Lira <felipedrl@gmail.com>
  • Loading branch information
3 people authored and kecho committed Apr 26, 2021
1 parent d1998d6 commit e5cda49
Show file tree
Hide file tree
Showing 110 changed files with 8,260 additions and 165 deletions.
@@ -0,0 +1,64 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: bf2edee5c58d82540a51f03df9d42094, type: 3}
m_Name: UniversalRPAssetLightLayers
m_EditorClassIdentifier:
k_AssetVersion: 8
k_AssetPreviousVersion: 8
m_RendererType: 1
m_RendererData: {fileID: 0}
m_RendererDataList:
- {fileID: 11400000, guid: f59607d3476b54858a594ea904187fb5, type: 2}
- {fileID: 11400000, guid: 85b3c877f1a3bc940869b43108b6024d, type: 2}
m_DefaultRendererIndex: 0
m_RequireDepthTexture: 1
m_RequireOpaqueTexture: 1
m_OpaqueDownsampling: 1
m_SupportsTerrainHoles: 1
m_SupportsHDR: 1
m_MSAA: 1
m_RenderScale: 1
m_MainLightRenderingMode: 1
m_MainLightShadowsSupported: 1
m_MainLightShadowmapResolution: 2048
m_AdditionalLightsRenderingMode: 1
m_AdditionalLightsPerObjectLimit: 8
m_AdditionalLightShadowsSupported: 1
m_AdditionalLightsShadowmapResolution: 2048
m_AdditionalLightsShadowResolutionTierLow: 256
m_AdditionalLightsShadowResolutionTierMedium: 512
m_AdditionalLightsShadowResolutionTierHigh: 1024
m_ShadowDistance: 50
m_ShadowCascadeCount: 4
m_Cascade2Split: 0.25
m_Cascade3Split: {x: 0.1, y: 0.3}
m_Cascade4Split: {x: 0.067, y: 0.2, z: 0.467}
m_CascadeBorder: 0.2
m_ShadowDepthBias: 1
m_ShadowNormalBias: 1
m_SoftShadowsSupported: 0
m_UseSRPBatcher: 1
m_SupportsDynamicBatching: 0
m_MixedLightingSupported: 1
m_SupportsLightLayers: 1
m_DebugLevel: 0
m_UseAdaptivePerformance: 1
m_ColorGradingMode: 0
m_ColorGradingLutSize: 32
m_UseFastSRGBLinearConversion: 0
m_ShadowType: 1
m_LocalShadowsSupported: 0
m_LocalShadowsAtlasResolution: 256
m_MaxPixelLights: 0
m_ShadowAtlasResolution: 256
m_ShaderVariantLogLevel: 0
m_ShadowCascades: 0

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit e5cda49

Please sign in to comment.