Changelog | Package Manager UI website
docs.unity.cn

    Changelog

    All notable changes to this package will be documented in this file.

    The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

    [4.1.0-preview] - 2018-10-18

    Added

    • Added occlusion mesh rendering/hookup for VR
    • You can now configure default depth and normal shadow bias values in the pipeline asset.
    • You can now add the LWRPAdditionalLightData component to a Light to override the default depth and normal shadow bias.
    • You can now log the amount of shader variants in your build. To do so, go to the Pipeline Asset. Under Advanced, select and set the Shader Variant Log Level. ### Changed
    • Renamed AdditionalCameraData to LWRPAdditionalCameraData.
    • Removed the supportedShaderFeatures property from LWRP core. The shader stripper now figures out which variants to strip based on the current assigned pipeline Asset in the Graphics settings. ### Fixed
    • The following error does not appear in console anymore: ("Begin/End Profiler section mismatch")
    • When you select a material with the Lit shader, this no longer causes the following error in the console: ("Material doesn't have..."). case 1092354
    • In the Simple Lit shader, per-vertex additional lights are now shaded properly.
    • Shader variant stripping now works when you're building a Project with Cloud Build. This greatly reduces build times from Cloud Build.
    • Dynamic Objects now receive lighting when the light mode is set to mixed.
    • MSAA now works on Desktop platforms.
    • The shadow bias value is now computed correctly for shadow cascades and different shadow resolutions. case 1076285
    • When you use Area Light with LWRP, Cast Shadows no longer overlaps with other UI elements in the Inspector. case 1085363

    Changed

    Read/write XRGraphicsConfig -> Read-only XRGraphics interface to XRSettings.

    [4.0.0-preview] - 2018-09-28

    Added

    • When you have enabled Gizmos, they now appear correctly in the Game view.
    • Added requiresDepthPrepass field to RenderingData struct to tell if the runtime platform requires a depth prepass to generate a camera depth texture.
    • The RenderingData struct now holds a reference to CullResults.
    • When HDR is enabled in the Camera but disabled in the Asset, an information box in the Camera Inspector informs you about it.
    • When MSAA is enabled in the Camera but disabled in the Asset, an information box in the Camera Inspector informs you about it.
    • Enabled instancing on the terrain shader.
    • Sorting of opaque objects now respects camera opaqueSortMode setting.
    • Sorting of opaque objects disables front-to-back sorting flag, when camera settings allow that and the GPU has hidden surface removal.
    • LWRP now has a Custom Light Explorer that suits its feature set.
    • LWRP now supports Vertex Lit shaders for detail meshes on terrain.
    • LWRP now has three interactive Autodesk shaders: Autodesk Interactive, Autodesk Interactive Masked and Autodesk Interactive Transparent.
    • [Shader API] The GetMainLight and GetAdditionalLight functions can now compute shadow attenuation and store it in the new shadowAttenuation field in LightData struct.
    • [Shader API] Added a VertexPositionInputs struct that contains vertex position in difference spaces (world, view, hclip).
    • [Shader API] Added a GetVertexPositionInputs function to get an initialized VertexPositionInputs.
    • [Shader API] Added a GetPerObjectLightIndex function to return the per-object index given a for-loop index.
    • [Shader API] Added a GetShadowCoord function that takes a VertexPositionInputs as input.
    • [ShaderLibrary] Added VertexNormalInputs struct that contains data for per-pixel normal computation.
    • [ShaderLibrary] Added GetVertexNormalInputs function to return an initialized VertexNormalInputs.

    Changed

    • The RenderingData struct is now read-only.
    • ScriptableRendereralways performs a Clear before calling IRendererSetup::Setup.
    • ScriptableRenderPass::Execute no longer takes CullResults as input. Instead, use RenderingDataas input, since that references CullResults.
    • IRendererSetup_Setup no longer takes ScriptableRenderContext and CullResults as input.
    • Shader includes are now referenced via package relative paths instead of via the deprecated shader export path mechanism https://docs.unity.cn/2018.3/Documentation/ScriptReference/ShaderIncludePathAttribute.html.
    • The LWRP Asset settings were re-organized to be more clear.
    • Vertex lighting now controls if additional lights should be shaded per-vertex or per-pixel.
    • Renamed all Local Lights nomenclature to Additional Lights.
    • Changed shader naming to conform to our SRP shader code convention.
    • [Shader API] Renamed SpotAttenuation function to AngleAttenuation.
    • [Shader API] Renamed _SHADOWS_ENABLED keyword to _MAIN_LIGHT_SHADOWS
    • [Shader API] Renamed _SHADOWS_CASCADE keyword to _MAIN_LIGHT_SHADOWS_CASCADE
    • [Shader API] Renamed _VERTEX_LIGHTS keyword to _ADDITIONAL_LIGHTS_VERTEX.
    • [Shader API] Renamed _LOCAL_SHADOWS_ENABLED to _ADDITIONAL_LIGHT_SHADOWS
    • [Shader API] Renamed GetLight function to GetAdditionalLight.
    • [Shader API] Renamed GetPixelLightCount function to GetAdditionalLightsCount.
    • [Shader API] Renamed attenuation to distanceAttenuation in LightData.
    • [Shader API] Renamed GetLocalLightShadowStrength function to GetAdditionalLightShadowStrength.
    • [Shader API] Renamed SampleScreenSpaceShadowMap functions to SampleScreenSpaceShadowmap.
    • [Shader API] Renamed MainLightRealtimeShadowAttenuation function to MainLightRealtimeShadow.
    • [Shader API] Renamed light constants from Directional and Local to MainLight and AdditionalLights.
    • [Shader API] Renamed GetLocalLightShadowSamplingData function to GetAdditionalLightShadowSamplingData.
    • [Shader API] Removed OUTPUT_NORMAL macro.
    • [Shader API] Removed lightIndex and substractiveAttenuation from LightData.
    • [Shader API] Removed ComputeShadowCoord function. GetShadowCoord is provided instead.
    • All LightweightPipeline references in API and classes are now named LightweightRenderPipeline.
    • Files no longer have the Lightweight prefix.
    • Renamed Physically Based shaders to Lit, ParticlesLit, and TerrainLit.
    • Renamed Simple Lighting shaders to SimpleLit, and ParticlesSimpleLit.
    • [ShaderLibrary] Renamed InputSurfacePBR.hlsl, InputSurfaceSimple.hlsl, and InputSurfaceUnlit to LitInput.hlsl, SimpleLitInput.hlsl, and UnlitInput.hlsl. These files were moved from the ShaderLibrary folder to theShaders.
    • [ShaderLibrary] Renamed LightweightPassLit.hlsl and LightweightPassLitSimple.hlsl to LitForwardPass.hlsl and SimpleLitForwardPass.hlsl. These files were moved from the ShaderLibrary folder to Shaders.
    • [ShaderLibrary] Renamed LightweightPassMetaPBR.hlsl, LightweightPassMetaSimple.hlsl and LighweightPassMetaUnlit to LitMetaPass.hlsl, SimpleLitMetaPass.hlsl and UnlitMetaPass.hlsl. These files were moved from the ShaderLibrary folder to Shaders.
    • [ShaderLibrary] Renamed LightweightPassShadow.hlsl to ShadowCasterPass.hlsl. This file was moved to the Shaders folder.
    • [ShaderLibrary] Renamed LightweightPassDepthOnly.hlsl to DepthOnlyPass.hlsl. This file was moved to the Shaders folder.
    • [ShaderLibrary] Renamed InputSurfaceTerrain.hlsl to TerrainLitInput.hlsl. This file was moved to the Shaders folder.
    • [ShaderLibrary] Renamed LightweightPassLitTerrain.hlsl to TerrainLitPases.hlsl. This file was moved to the Shaders folder.
    • [ShaderLibrary] Renamed ParticlesPBR.hlsl to ParticlesLitInput.hlsl. This file was moved to the Shaders folder.
    • [ShaderLibrary] Renamed InputSurfacePBR.hlsl to LitInput.hlsl. This file was moved to the Shaders folder.
    • [ShaderLibrary] Renamed InputSurfaceUnlit.hlsl to UnlitInput.hlsl. This file was moved to the Shaders folder.
    • [ShaderLibrary] Renamed InputBuiltin.hlsl to UnityInput.hlsl.
    • [ShaderLibrary] Renamed LightweightPassMetaCommon.hlsl to MetaInput.hlsl.
    • [ShaderLibrary] Renamed InputSurfaceCommon.hlsl to SurfaceInput.hlsl.
    • [ShaderLibrary] Removed LightInput struct and GetLightDirectionAndAttenuation. Use GetAdditionalLight function instead.
    • [ShaderLibrary] Removed ApplyFog and ApplyFogColor functions. Use MixFog and MixFogColor instead.
    • [ShaderLibrary] Removed TangentWorldToNormal function. Use TransformTangentToWorld instead.
    • [ShaderLibrary] Removed view direction normalization functions. View direction should always be normalized per pixel for accurate results.
    • [ShaderLibrary] Renamed FragmentNormalWS function to NormalizeNormalPerPixel.

    Fixed

    • If you have more than 16 lights in a scene, LWRP no longer causes random glitches while rendering lights.
    • The Unlit shader now samples Global Illumination correctly.
    • The Inspector window for the Unlit shader now displays correctly.
    • Reduced GC pressure by removing several per-frame memory allocations.
    • The tooltip for the the camera MSAA property now appears correctly.
    • Fixed multiple C# code analysis rule violations.
    • The fullscreen mesh is no longer recreated upon every call to ScriptableRenderer.fullscreenMesh.

    [3.3.0-preview]

    Added

    • Added callbacks to LWRP that can be attached to a camera (IBeforeCameraRender, IAfterDepthPrePass, IAfterOpaquePass, IAfterOpaquePostProcess, IAfterSkyboxPass, IAfterTransparentPass, IAfterRender)

    Changed

    • Clean up LWRP creation of render textures. If we are not going straight to screen ensure that we create both depth and color targets.
    • UNITY_DECLARE_FRAMEBUFFER_INPUT and UNITY_READ_FRAMEBUFFER_INPUT macros were added. They are necessary for reading transient attachments.
    • UNITY_MATRIX_I_VP is now defined.
    • Renamed LightweightForwardRenderer to ScriptableRenderer.
    • Moved all light constants to _LightBuffer CBUFFER. Now _PerCamera CBUFFER contains all other per camera constants.
    • Change real-time attenuation to inverse square.
    • Change attenuation for baked GI to inverse square, to match real-time attenuation.
    • Small optimization in light attenuation shader code.

    Fixed

    • Lightweight Unlit shader UI doesn't throw an error about missing receive shadow property anymore.

    [3.2.0-preview]

    Changed

    • Receive Shadows property is now exposed in the material instead of in the renderer.
    • The UI for Lightweight asset has been updated with new categories. A more clean structure and foldouts has been added to keep things organized.

    Fixed

    • Shadow casters are now properly culled per cascade. (case 1059142)
    • Rendering no longer breaks when Android platform is selected in Build Settings. (case 1058812)
    • Scriptable passes no longer have missing material references. Now they access cached materials in the renderer.(case 1061353)
    • When you change a Shadow Cascade option in the Pipeline Asset, this no longer warns you that you've exceeded the array size for the _WorldToShadow property.
    • Terrain shader optimizations.

    [3.1.0-preview]

    Fixed

    • Fixed assert errors caused by multi spot lights
    • Fixed LWRP-DirectionalShadowConstantBuffer params setting

    [3.0.0-preview]

    Added

    • Added camera additional data component to control shadows, depth and color texture.
    • pipeline now uses XRSEttings.eyeTextureResolutionScale as renderScale when in XR.
    • New pass architecture. Allows for custom passes to be written and then used on a per camera basis in LWRP

    Changed

    • Shadow rendering has been optimized for the Mali Utgard architecture by removing indexing and avoiding divisions for orthographic projections. This reduces the frame time by 25% on the Overdraw benchmark.
    • Removed 7x7 tent filtering when using cascades.
    • Screenspace shadow resolve is now only done when rendering shadow cascades.
    • Updated the UI for the Lighweight pipeline asset.
    • Update assembly definitions to output assemblies that match Unity naming convention (Unity.*).

    Fixed

    • Post-processing now works with VR on PC.
    • PS4 compiler error
    • Fixed VR multiview rendering by forcing MSAA to be off. There's a current issue in engine that breaks MSAA and Texture2DArray.
    • Fixed UnityPerDraw CB layout
    • GLCore compute buffer compiler error
    • Occlusion strength not being applied on LW standard shaders
    • CopyDepth pass is being called even when a depth from prepass is available
    • GLES2 shader compiler error in IntegrationTests
    • Can't set RenderScale and ShadowDistance by script
    • VR Single Pass Instancing shadows
    • Fixed compilation errors on Nintendo Switch (limited XRSetting support).

    [2.0.0-preview]

    Added

    • Explicit render target load/store actions were added to improve tile utilization
    • Camera opaque color can be requested on the pipeline asset. It can be accessed in the shader by defining a _CameraOpaqueTexture. This can be used as an alternative to GrabPass.
    • Dynamic Batching can be enabled in the pipeline asset
    • Pipeline now strips unused or invalid variants and passes based on selected pipeline capabilities in the asset. This reduces build and memory consuption on target.
    • Shader stripping settings were added to pipeline asset

    Changed

    Pipeline

    • Pipeline code is now more modular and extensible. A ForwardRenderer class is initialized by the pipeline with RenderingData and it's responsible for enqueueing and executing passes. In the future pluggable renderers will be supported.
    • On mobile 1 directional light + up to 4 local lights (point or spot) are computed
    • On other platforms 1 directional light + up to 8 local lights are computed
    • Multiple shadow casting lights are supported. Currently only 1 directional + 4 spots light shadows. #### Shading Framework
    • Directional Lights are always considered a main light in shader. They have a fast shading path with no branching and no indexing.
    • GetMainLight() is provided in shader to initialize Light struct with main light shading data.
    • Directional lights have a dedicated shadowmap for performance reasons. Shadow coord always comes from interpolator.
    • MainLigthRealtimeShadowAttenuation(float4 shadowCoord) is provided to compute main light realtime shadows.
    • Spot and Point lights are always shaded in the light loop. Branching on uniform and indexing happens when shading them.
    • GetLight(half index, float3 positionWS) is provided in shader to initialize Light struct for spot and point lights.
    • Spot light shadows are baked into a single shadow atlas.
    • Shadow coord for spot lights is always computed on fragment.
    • Use LocalLightShadowAttenuation(int lightIndex, float3 positionWS) to comppute realtime shadows for spot lights.

    Fixed

    • Issue that was causing VR on Android to render black
    • Camera viewport issues
    • UWP build issues
    • Prevent nested camera rendering in the pipeline

    [1.1.4-preview]

    Added

    • Terrain and grass shaders ported
    • Updated materials and shader default albedo and specular color to midgrey.
    • Exposed _ScaledScreenParams to shader. It works the same as _ScreenParams but takes pipeline RenderScale into consideration
    • Performance Improvements in mobile

    Fixed

    • SRP Shader library issue that was causing all constants to be highp in mobile
    • shader error that prevented LWRP to build to UWP
    • shader compilation errors in Linux due to case sensitive includes
    • Rendering Texture flipping issue
    • Standard Particles shader cutout and blending modes
    • crash caused by using projectors
    • issue that was causing Shadow Strength to not be computed on mobile
    • Material Upgrader issue that caused editor to SoftLocks
    • GI in Unlit shader
    • Null reference in the Unlit material shader GUI

    [1.1.2-preview]

    Changed

    • Performance improvements in mobile

    Fixed

    • Shadows on GLES 2.0
    • CPU performance regression in shadow rendering
    • Alpha clip shadow issues
    • Unmatched command buffer error message
    • Null reference exception caused by missing resource in LWRP
    • Issue that was causing Camera clear flags was being ignored in mobile

    [1.1.1-preview]

    Added

    • Added Cascade Split selection UI
    • Added SHADER_HINT_NICE_QUALITY. If user defines this to 1 in the shader Lightweight pipeline will favor quality even on mobile platforms.

    Changed

    • Shadowmap uses 16bit format instead of 32bit.
    • Small shader performance improvements

    Fixed

    • Subtractive Mode
    • Shadow Distance does not accept negative values anymore

    [0.1.24]

    Added

    • Added Light abstraction layer on lightweight shader library.
    • Added HDR global setting on pipeline asset.
    • Added Soft Particles settings on pipeline asset.
    • Ported particles shaders to SRP library

    Changed

    • HDR RT now uses what format is configured in Tier settings.
    • Refactored lightweight standard shaders and shader library to improve ease of use.
    • Optimized tile LOAD op on mobile.
    • Reduced GC pressure
    • Reduced shader variant count by ~56% by improving fog and lightmap keywords
    • Converted LW shader library files to use real/half when necessary.

    Fixed

    • Realtime shadows on OpenGL
    • Shader compiler errors in GLES 2.0
    • Issue sorting issues when BeforeTransparent custom fx was enabled.
    • VR single pass rendering.
    • Viewport rendering issues when rendering to backbuffer.
    • Viewport rendering issues when rendering to with MSAA turned off.
    • Multi-camera rendering.

    [0.1.23]

    Added

    • UI Improvements (Rendering features not supported by LW are hidden)

    Changed

    • Shaders were ported to the new SRP shader library.
    • Constant Buffer refactor to use new Batcher
    • Shadow filtering and bias improved.
    • Pipeline now updates color constants in gamma when in Gamma colorspace.
    • Optimized ALU and CB usage on Shadows.
    • Reduced shader variant count by ~33% by improving shadow and light classification keywords
    • Default resources were removed from the pipeline asset.

    Fixed

    • Fixed shader include path when using SRP from package manager.
    • Fixed spot light attenuation to match Unity Built-in pipeline.
    • Fixed depth pre-pass clearing issue.

    [0.1.12]

    Added

    • Standard Unlit shader now has an option to sample GI.
    • Added Material Upgrader for stock Unity Mobile and Legacy Shaders.
    • UI improvements

    Changed

    • Realtime shadow filtering was improved.

    Fixed

    • Fixed an issue that was including unreferenced shaders in the build.
    • Fixed a null reference caused by Particle System component lights.

    [0.1.11]

    Initial Release.

    Back to top Copyright © 2015-2018 Unity
    Generated by DocFX