Skip to content

Commit

Permalink
Merge pull request #8018 from Unity-Technologies/internal/2023.2/staging
Browse files Browse the repository at this point in the history
Internal/2023.2/staging
  • Loading branch information
UnityAljosha authored Jan 11, 2024
2 parents 4a7cd62 + f16545c commit 799fd42
Show file tree
Hide file tree
Showing 42 changed files with 2,261 additions and 186 deletions.
10 changes: 10 additions & 0 deletions Packages/com.unity.render-pipelines.core/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,16 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
Version Updated
The version number for this package has increased due to a version update of a related graphics package.

## [16.0.4] - 2023-12-21

This version is compatible with Unity 2023.2.5f1.

### Fixed
- Fixed the Native Render Pass RenderGraph API so you can now read a compute buffer.
- Fixed an issue that caused `CurrentPipelineHelpURLAttribute.URL` to return `null` when no render pipeline was active.
- Fixed an issue that prevented changes to the Global Settings asset from refreshing the UI, so the old asset would continue to display.
- Fixed nondeterministic method gathering by static constructors.

## [16.0.3] - 2023-09-26

This version is compatible with Unity 2023.2.0b12.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -517,6 +517,23 @@ internal void AddComponent(Type type)
}
}

internal void RemoveAllComponents()
{
List<UnityEngine.Object> components = new List<UnityEngine.Object>(m_ComponentsProperty.arraySize);
for (int i = 0; i < m_ComponentsProperty.arraySize; i++)
components.Add(m_ComponentsProperty.GetArrayElementAtIndex(i).objectReferenceValue);

m_ComponentsProperty.ClearArray();
m_SerializedObject.ApplyModifiedProperties();

foreach (var component in components)
Undo.DestroyObjectImmediate(component);

EditorUtility.SetDirty(asset);
AssetDatabase.SaveAssets();
RefreshEditors();
}

internal void RemoveComponent(int id)
{
// Remove from the cached editors list
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -280,7 +280,7 @@ void OnVolumeProfileContextClick()
menu.AddSeparator(string.Empty);
menu.AddItem(Styles.enableAll, false, () => SetComponentsActive(true));
menu.AddItem(Styles.disableAll, false, () => SetComponentsActive(false));
menu.AddItem(Styles.removeAll, false, () => m_ComponentList.Clear());
menu.AddItem(Styles.removeAll, false, () => m_ComponentList.RemoveAllComponents());
menu.AddItem(VolumeProfileUtils.Styles.resetAll, false, () => m_ComponentList.ResetAllComponents());
menu.AddSeparator(string.Empty);
menu.AddItem(VolumeProfileUtils.Styles.copyAllSettings, false,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@ public static int eyeTextureHeight
}

/// <summary>
/// Eye texture height.
/// Occlusion mesh's scaling factor.
/// </summary>
public static float occlusionMeshScale
{
Expand All @@ -156,7 +156,7 @@ public static float occlusionMeshScale
}

/// <summary>
/// Eye texture height.
/// Controls XR mirror view blit operation
/// </summary>
public static int mirrorViewMode
{
Expand Down
2 changes: 1 addition & 1 deletion Packages/com.unity.render-pipelines.core/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "com.unity.render-pipelines.core",
"description": "SRP Core makes it easier to create or customize a Scriptable Render Pipeline (SRP). SRP Core contains reusable code, including boilerplate code for working with platform-specific graphics APIs, utility functions for common rendering operations, and shader libraries. The code in SRP Core is use by the High Definition Render Pipeline (HDRP) and Universal Render Pipeline (URP). If you are creating a custom SRP from scratch or customizing a prebuilt SRP, using SRP Core will save you time.",
"version": "16.0.4",
"version": "16.0.5",
"unity": "2023.2",
"displayName": "Core RP Library",
"dependencies": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,13 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
Version Updated
The version number for this package has increased due to a version update of a related graphics package.

## [16.0.4] - 2023-12-21

This version is compatible with Unity 2023.2.5f1.

Version Updated
The version number for this package has increased due to a version update of a related graphics package.

## [16.0.3] - 2023-09-26

This version is compatible with Unity 2023.2.0b12.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
{
"name": "com.unity.render-pipelines.high-definition-config",
"description": "Configuration files for the High Definition Render Pipeline.",
"version": "16.0.4",
"version": "16.0.5",
"unity": "2023.2",
"displayName": "High Definition RP Config",
"dependencies": {
"com.unity.render-pipelines.core": "16.0.4"
"com.unity.render-pipelines.core": "16.0.5"
}
}
62 changes: 62 additions & 0 deletions Packages/com.unity.render-pipelines.high-definition/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,68 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
Version Updated
The version number for this package has increased due to a version update of a related graphics package.

## [16.0.4] - 2023-12-21

This version is compatible with Unity 2023.2.5f1.

### Changed
- Reduced memory consumed by LTC area light table.
- You can now set the width of High Quality Lines in centimeter units on a per-vertex basis via Shader Graph.
- Added a new LOD mode for High Quality Lines that is based on screen coverage.

### Fixed
- Fixed an issue with dual-lobe Subsurface Scattering (SSS) to handle rectangular area lights correctly.
- Cookie area lights on water surfaces is now supported.
- Fixed and optimized the moon preset in the Physically Based Sky.
- Added missing shadergraph HLSL files in HDRP.
- Fixed the Water shader's area light lookup texture parametrization.
- Fixed the area light basis used by the Water shader.
- Added the RemoveFromTUAndAA checkbox in Surface Options to exclude materials from temporal anti aliasing.
- Fixed an issue where the maximum number of lights allowed in a local neighbourhood in the HDRP path tracer was too low and could cause render artefacts.
- Fixed issue with displacement mapping that occurred when using the Layered Lit shader.
- Fixed issue where an OS displaying in Turkish incorrectly set DLSS as unavailable.
- Fixed an issue where moving a GameObject with a Reflection Proxy Volume caused visual glitches. Applies only to the Unity Editor on Apple Silicon devices.
- Fixed errors and flickering shadows when adding to the shadowsWithValidData hash map.
- Added note to the ray tracking documentation not supporting box-shaped spot light.
- Fixed the lightShadowCasterMode property to only affect the shadow caster culling behaviour when baked lighting includes shadow mask.
- Fixed an issue to clarified HDRP velocity documentation to reflect that frame position is in Object space.
- Updated the Decal and Frame Settings documentation to clarify the use of Full Depth Prepass within Deferred.
- Changed all cached draw distances to reset when the global draw distance changes to prevent old draw distances persisting. Also, added a warning to the decal projector if its draw distance is greater than the global draw distance.
- Fixed a crash on constrained hardware caused by material pre-integrations.
- Removed unnecessary `DefaultVolumeEditor` assertion errors that occurred when multiple Inspectors were open.
- Fixed an issue where XR SPI was not disabled after processing a render request.
- Fixed performance issues in the Reflection Probe inspector.
- Fixed an issue with double Shadow Quality UI in HD Lights.
- Fixed an issue where if you open a newly created Shader Graph asset, the asset appears to have been modified.
- Fixed an issue Dropdown serialization and bindings. Ctrl + Z is now working.
- Fixed an issue where cloud rendering was applied in prefab view.
- HDRP: Added index seed mode for path tracing to avoid "sticky" noise patterns when using path tracing in conjunction with Recorder.
- Fixed potential leaks when using dynamic resolution and objects with refraction.
- Corrected dynamic resolution settings for offscreen UI.
- Added missing texture array global mip bias override for texture array grad samplers.
- Fixed an issue where High Quality Line Renderers fail to draw on Metal API.
- Fixed a non-development player crash that occurred when using the High Quality Lines feature.
- Fixed NaN propagation for path traced hair.
- Fixed an issue with High Quality Line Rendering spamming the console with errors in certain frame setting configurations.
- Fixed an issue that caused standalone runtime rebuilds of hair instances to fail when using High Quality Lines.
- Fixed triplanar on alpha clipped geometry.
- Fixed time step of watersystem for recorder.
- Fixed caustics in XR.
- Flares now respect the cameras culling mask and the game objects layer (Occlusion and Rendering).
- Fixed UUM-58619 by removing now unnecessary required setting for the Water System sample.
- Fix Blackman-Harris filter for temporal AA.
- Fix ShaderGraph with motion vectors enabled overwriting interpolators with previous frames data
- Fixed inverted shadows from transparent objects in HDRP path tracer.
- Fixed sentence in "Ray Tracing: Getting started" documentation
- Fix Console errors with ReflectionProxyVolume component Gizmo
- Fixed a culling result sharing issue between custom passes and the camera rendering them.
- Increase HDRP's maximum cube reflection probes on screen
- Fix exception thrown when running projects for an extended amount of time
- Fixed post-processing when the LUT size is not a power of 2
- Fix creating mirror Gameobject not being placed in prefab hierarchy
- Fix probe volume live subdivision not culling cells correctly.
- Fix Disk Light's property not being updated when changing it's radius using the gizmo in the scene.

## [16.0.3] - 2023-09-26

This version is compatible with Unity 2023.2.0b12.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -239,7 +239,7 @@ EnvironmentLighting EvaluateEnvironmentLighting(CloudRay ray, float3 entryEvalua
lighting.sunColor0 = _SunLightColor.xyz * GetCurrentExposureMultiplier();
lighting.sunColor1 = lighting.sunColor0;
lighting.ambientTermTop = SampleSH9(_VolumetricCloudsAmbientProbeBuffer, float3(0, 1, 0)) * GetCurrentExposureMultiplier();
lighting.ambientTermBottom = SampleSH9(_VolumetricCloudsAmbientProbeBuffer, float3(0, -1, 0)) * GetCurrentExposureMultiplier();
lighting.ambientTermBottom = max(SampleSH9(_VolumetricCloudsAmbientProbeBuffer, float3(0, -1, 0)), 0) * GetCurrentExposureMultiplier();

// evaluate the attenuation at both points (entrance and exit of the cloud layer)
EvaluateSunColorAttenuation(entryEvaluationPointWS, lighting.sunDirection, lighting.sunColor0);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,11 +40,9 @@ class WaterRenderingMaskData
// Simulation buffers
public TextureHandle displacementBuffer;
public TextureHandle additionalDataBuffer;
public TextureHandle foamData;
public TextureHandle deformationBuffer;

// Output buffers
public TextureHandle colorBuffer;
public TextureHandle depthBuffer;
public TextureHandle deformationSGBuffer;

// Other resources
public BufferHandle indirectBuffer;
Expand All @@ -68,13 +66,15 @@ void RenderWaterSurfaceMask(RenderGraph renderGraph, HDCamera hdCamera, WaterSur
passData.waterDebugCB._WaterFoamDebugMode = (int)currentWater.waterFoamDebugMode;

// Allocate all the intermediate textures
passData.colorBuffer = builder.UseColorBuffer(colorBuffer, 0);
passData.depthBuffer = builder.UseDepthBuffer(depthBuffer, DepthAccess.ReadWrite);
builder.UseColorBuffer(colorBuffer, 0);
builder.UseDepthBuffer(depthBuffer, DepthAccess.ReadWrite);

// Import all the textures into the system
passData.displacementBuffer = renderGraph.ImportTexture(currentWater.simulation.gpuBuffers.displacementBuffer);
passData.additionalDataBuffer = renderGraph.ImportTexture(currentWater.simulation.gpuBuffers.additionalDataBuffer);
passData.foamData = passData.parameters.foam ? renderGraph.ImportTexture(currentWater.FoamBuffer()) : renderGraph.defaultResources.blackTexture;
passData.deformationBuffer = passData.parameters.deformation ? renderGraph.ImportTexture(currentWater.deformationBuffer) : renderGraph.defaultResources.blackTexture;
passData.deformationSGBuffer = passData.parameters.deformation ? renderGraph.ImportTexture(currentWater.deformationSGBuffer) : renderGraph.defaultResources.blackTexture;

// For GPU culling
passData.indirectBuffer = renderGraph.ImportBuffer(m_WaterIndirectDispatchBuffer);
Expand All @@ -85,32 +85,11 @@ void RenderWaterSurfaceMask(RenderGraph renderGraph, HDCamera hdCamera, WaterSur
builder.SetRenderFunc(
(WaterRenderingMaskData data, RenderGraphContext ctx) =>
{
ConstantBuffer.UpdateData(ctx.cmd, data.parameters.waterCB);
ConstantBuffer.UpdateData(ctx.cmd, data.parameters.waterRenderingCB);

// We will be writing directly to the color and depth buffers
CoreUtils.SetRenderTarget(ctx.cmd, data.colorBuffer, data.depthBuffer);

// Raise the keywords for band count
SetupWaterShaderKeyword(ctx.cmd, data.parameters.numActiveBands, data.parameters.activeCurrent);

// Prepare the material property block for the rendering
data.parameters.mbp.SetTexture(HDShaderIDs._WaterDisplacementBuffer, data.displacementBuffer);
data.parameters.mbp.SetTexture(HDShaderIDs._WaterAdditionalDataBuffer, data.additionalDataBuffer);
data.parameters.mbp.SetTexture(HDShaderIDs._WaterDeformationBuffer, data.deformationBuffer);

// Bind the global water textures
data.parameters.mbp.SetTexture(HDShaderIDs._WaterMask, data.parameters.waterMask);
data.parameters.mbp.SetTexture(HDShaderIDs._SimulationFoamMask, data.parameters.simulationFoamMask);
if (data.parameters.activeCurrent)
{
data.parameters.mbp.SetTexture(HDShaderIDs._Group0CurrentMap, data.parameters.largeCurrentMap);
data.parameters.mbp.SetTexture(HDShaderIDs._Group1CurrentMap, data.parameters.ripplesCurrentMap);
data.parameters.mbp.SetTexture(HDShaderIDs._WaterSectorData, data.parameters.sectorDataBuffer);
}
SetupCommonRenderingData(ctx.cmd, data.displacementBuffer, data.additionalDataBuffer, TextureXR.GetBlackTexture(),
data.foamData, data.deformationBuffer, data.deformationSGBuffer, data.parameters);

// Normally we should bind this into the material property block, but on metal there seems to be an issue. This fixes it.
ctx.cmd.SetGlobalFloat("_CullWaterMask", (int)CullMode.Off);
ctx.cmd.SetGlobalFloat(HDShaderIDs._CullWaterMask, (int)CullMode.Off);

// Bind the debug constant buffer
ConstantBuffer.Push(ctx.cmd, data.waterDebugCB, data.parameters.waterMaterial, HDShaderIDs._ShaderVariablesWaterDebug);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -309,6 +309,8 @@ public void Update(float timeMultiplier)
#if UNITY_EDITOR
if (EditorApplication.isPaused)
delta = 0.0f;
else if (!Application.isPlaying)
delta = Mathf.Min(delta, 0.033f);
#endif

deltaTime = delta * timeMultiplier;
Expand Down
Loading

0 comments on commit 799fd42

Please sign in to comment.