Skip to content

Internal/master #8147

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 50 commits into from
Apr 28, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
413494d
Blackboard Properties Attributes Settings
FredMoreau Apr 10, 2025
dba83bf
[content automatically redacted] touching PlatformDependent folder
AngelaDematte Apr 10, 2025
b3f11fa
Optimized a RenderTexture descriptor access
kirill-titov-u Apr 11, 2025
f6e68a8
Add message when reflection probe has wrong format
laylaarab Apr 11, 2025
b58e08f
[6000.2][UUM-102077] Fix incorrect normal texture size causing sampli…
kennytann Apr 11, 2025
1a8b411
UUM-102396: Build is broken when using Bicubic Lightmap Sampling
pema99 Apr 11, 2025
5b3cb2a
Convert the MultipleSRP_Tests project to use Graphics Test Framework 9
vladvolkovgit Apr 11, 2025
35f01d5
[VFX] Fixed an NRE when using CTRL+5 shortcut
julienamsellem Apr 11, 2025
1f17928
[VFX] CanSupportVFX less restrictive
PaulDemeulenaere Apr 11, 2025
1e440fa
UUM-102163: (+UUM-102161) Missing links on Project Settings -> Graphi…
belavina Apr 11, 2025
dba4443
Add missing alt text to HDRP light placement tool page
markg-unity Apr 11, 2025
f22143a
[ShaderGraph][RPCore]rename RGorAG texture unpack to avoid PS5 conflicts
Apr 12, 2025
c90c0ff
Graphics/SRP - Clarify Camera Stacking terminology in URP
axoloto Apr 12, 2025
353787b
[Shaders] Provide Support for Vector2 and Vector3 material inspector …
Apr 12, 2025
90094e2
Graphics docs accessibility improvements April (VFX Graph)
markg-unity Apr 14, 2025
b9591ee
Run VFX PS4 tests in Base mode
EdvinasSkir Apr 14, 2025
b0668da
[Terrain][Test] Fix SpeedTree8 DX12 test by waiting for 2 additional …
zeroyao Apr 15, 2025
d231ec9
[6000.2][UUM-102798] Fix NullReferenceException in DrawRenderer2DPass
kennytann Apr 15, 2025
49944ba
Graphics docs accessibility improvements batch 14 (HDRP)
markg-unity Apr 15, 2025
a9c7ac3
Accessibility in SRP Core package (Oleks)
oleks-k Apr 15, 2025
114d328
[UUM-82984] Force to use default max subdivision level in rendering d…
mseonkim-unity Apr 16, 2025
c53521b
Accessibility: visualeffectgraph
ocarrere Apr 16, 2025
cbc1758
Fixed usage of deprecated API in HDRP
aleks01010101 Apr 17, 2025
63d57b8
Accessibility fixes part 2 in VFX Graph manual
fatimah-f Apr 17, 2025
da06e47
Accessibility fixes in HDRP manual
fatimah-f Apr 18, 2025
e359942
[ShaderGraph] Add Support for Dynamic Branch on keywords
Apr 18, 2025
8a3a6e9
Add UI option to remove missing or invalid renderer features and dele…
geunheepark-unity Apr 21, 2025
8db2264
[Terrain] Ignore 059_SpeedTree_LODTransition on MacEditor
zeroyao Apr 21, 2025
562d31b
Graphics docs accessibility fixes batch 14 - Fix empty HTML cells in …
markg-unity Apr 22, 2025
d1557d5
Update outdated buginfo files
ericksson Apr 22, 2025
56e4660
UUM-101564: Fix empty shadowmap rendering on WebGL
pema99 Apr 23, 2025
e6e310b
[VFX] Fixed missing file icon upon hlsl file creation
julienamsellem Apr 23, 2025
bd10a2d
[UUM-91793] Wrong Info Icon on Decal Projector
LagueKristin Apr 23, 2025
05b3dae
HDRP: Re-enable allocation-checks on Metal.
amsXYZ Apr 23, 2025
5332af1
Upgrade cinemachine package in UniversalGraphicsTest_2D to fix instab…
kennytann Apr 23, 2025
d1c57d0
Fixed Volume performance regression for Unity Editor and Development …
kirill-titov-u Apr 23, 2025
2788cfc
Add tests for adjustment volumes
belgaard Apr 23, 2025
1aa162e
UUM-103721 - fixes texture asset conflicts between Shader Graph sampl…
bencloward Apr 23, 2025
18f93b0
Update .buginfo for Post-processing and Compositing
BenGraterUnity Apr 23, 2025
ad01c96
docg-6724-unity-6-dx12-default: Test and refactor 'Set up ray tracing'
ocarrere Apr 23, 2025
afe6c3d
fixes to remove macro redefinition in lit.shader and HDShadowAlgorith…
joecruz993 Apr 24, 2025
833884f
DOCG-6822 Add missing upscale settings in HDRP docs (v2)
markg-unity Apr 24, 2025
630ea74
GFXLIGHT-1490: Add automated testing for APV Virtual Offset
pigselated Apr 24, 2025
9da6527
Fixes for HDRP samples
JMargevics Apr 24, 2025
b9f5831
Fix HDR debug mode in URP Compatibility Mode
arttu-peltonen Apr 24, 2025
bec4d94
[VFX] Fix rendering of volumetric output connected to particle strips
gabrieldelacruz Apr 25, 2025
ec80a89
Fix external connections being lost during subgraph conversion
geunheepark-unity Apr 25, 2025
577803a
Update LookDevVolumeProfileSettings.cs
RSlysz Apr 25, 2025
ee6874c
UI polish in HDWizard
arttu-peltonen Apr 25, 2025
9d3b8b5
Test updates
ericksson Apr 26, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ public class CustomDebugPanel : MonoBehaviour

Add the script to a GameObject. You should see a new **My Custom Panel** panel in the **Rendering Debugger** window.

![](Images/rendering-debugger.png)
![Screenshot of the Rendering Debugger window showing a new custom panel.](Images/rendering-debugger.png)

### Add a control to an existing panel

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,13 @@ Use the **Orbit** and **Elevation** to control the orientation of the light, in

You can use the **Anchor Position Override** to provide a GameObject’s [Transform](https://docs.unity3d.com/ScriptReference/Transform.html) as an anchor point for the Light. This is useful if you want the Light to follow a specific GameObject in the Scene.

![](Images/LightAnchorAnimation.gif)
<video title="A light uses the main camera as the reference GamObject that controls the rotation of the light. The light rotates synchronously with the camera." src="Images/videos/light-anchor-animation.mp4" width="100%" height="auto" autoplay="true" loop="true" controls></video>

**Note**: The above example uses the Main Camera as the reference Camera that adjusts the light rotation. The Common presets might create a different result in the Scene View if your view isn't aligned with the Main Camera.

You can set a **Position Offset** for this custom Anchor. This is useful if the Transform position of the custom Anchor isn't centered appropriately for the light to orbit correctly around the custom Anchor.

![](Images/LightAnchor0.png)
![Light Anchor component screenshot. Orbit and Elevation properties display example values that change the orientation of a light.](Images/LightAnchor0.png)


The Light Anchor component also includes a list of **Presets** that you can use to set the Light's orientation relative to the main Camera.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ public class MySettings : IRenderPipelineGraphicsSettings
public Material myMaterial;
}
```
![](Images/customsettings-addsetting.png)<br/>
![Screenshot of the Project Settings window. The Graphics section contains the new custom settings from the example script.](Images/customsettings-addsetting.png)<br/>
The **Edit** > **Project Settings** > **Graphics** window with the new custom setting from the example script.

## Set the default asset for a reference property
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ public class MySettings : IRenderPipelineGraphicsSettings
}
```

![](Images/customsettings-settingsgroup.png)<br/>
![Screenshot of the Project Settings window. The Graphics section contains the new custom settings group from the example script.](Images/customsettings-settingsgroup.png)<br/>
The **Edit** > **Project Settings** > **Graphics** window with the new custom settings group from the example script.

## Change the display order of settings groups
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,4 +30,4 @@ For example:

Unity shows the new properties in the **Core Render Pipeline** settings section:

![](Images/core_render_pipeline_preference_provider.png)
![Screenshot of the Preferences window showing the new properties in the Core Render Pipeline settings section.](Images/core_render_pipeline_preference_provider.png)
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,6 @@
[assembly: InternalsVisibleTo("Unity.RenderPipelines.Core.Editor.Shared")]
[assembly: InternalsVisibleTo("Unity.RenderPipelines.Core.Editor.Tests")]
[assembly: InternalsVisibleTo("Unity.RenderPipelines.HighDefinition.Editor.Tests")]
[assembly: InternalsVisibleTo("Unity.RenderPipelines.HighDefinition.Editor.Tests")]
[assembly: InternalsVisibleTo("Assembly-CSharp-Editor-testable")]

Original file line number Diff line number Diff line change
Expand Up @@ -215,7 +215,7 @@ static CoreEditorStyles()
greenTexture = CoreEditorUtils.CreateColoredTexture2D(Color.green, "Green 1x1");
blueTexture = CoreEditorUtils.CreateColoredTexture2D(Color.blue, "Blue 1x1");

iconHelp = CoreEditorUtils.FindTexture("_Help");
iconHelp = CoreEditorUtils.LoadIcon("icons", "console.infoicon", ".png");
iconWarn = CoreEditorUtils.LoadIcon("icons", "console.warnicon", ".png");
iconFail = CoreEditorUtils.LoadIcon("icons", "console.erroricon", ".png");
iconSuccess = EditorGUIUtility.FindTexture("TestPassed");
Expand Down
Original file line number Diff line number Diff line change
@@ -1 +1 @@
area: Post-processing and UI Features
area: Post-processing and Compositing
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
<ui:UXML xmlns:ui="UnityEngine.UIElements" xmlns:uie="UnityEditor.UIElements" uib="Unity.UI.Builder" editor-extension-mode="True">
<Style src="project://database/Packages/com.unity.render-pipelines.core/Editor/StyleSheets/VolumeEditor.uss?fileID=7433441132597879392&amp;guid=cd410e8cdc0119a46a753f48e79c8d07&amp;type=3#VolumeEditor" />
<uie:PropertyField
binding-path="blendDistance"
binding-path="m_BlendDistance"
name="volume-profile-blend-distance"
label="Blend Distance"
tooltip="Sets the outer distance to start blending from. A value of 0 means no blending and Unity applies the Volume overrides immediately upon entry." />
<ui:VisualElement name="collider-fixme-box__container"/>
<uie:PropertyField
binding-path="weight"
binding-path="m_Weight"
label="Weight"
tooltip="Sets the total weight of this Volume in the Scene. 0 means no effect and 1 means full effect." />
<uie:PropertyField
binding-path="priority"
binding-path="m_Priority"
name="volume-profile-priority"
label="Priority"
tooltip="A value which determines which Volume is being used when Volumes have an equal amount of influence on the Scene. Volumes with a higher priority will override lower ones." />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ internal Vector2 overrideToggleSize
/// <summary>
/// Override this property if your editor makes use of the "Additional Properties" feature.
/// </summary>
public virtual bool hasAdditionalProperties => volumeComponent.parameterList.Count != m_VolumeNotAdditionalParameters.Count;
public virtual bool hasAdditionalProperties => volumeComponent.parameterList.Length != m_VolumeNotAdditionalParameters.Count;

/// <summary>
/// Set to true to show additional properties.
Expand Down Expand Up @@ -520,7 +520,7 @@ internal void SetOverridesTo(bool state)

internal bool AreAllOverridesTo(bool state)
{
for (int i = 0; i < volumeComponent.parameterList.Count; ++i)
for (int i = 0; i < volumeComponent.parameterList.Length; ++i)
{
if (volumeComponent.parameterList[i].overrideState != state)
return false;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -627,7 +627,7 @@ private static void GenerateTableColumns(DebugUI.Table table, DebugDisplaySettin
((DebugUI.Table.Row)table.children[++iRowIndex]).children.Add(s_EmptyDebugUIValue);

bool isResultParameter = i == 0;
for (int j = 0; j < chain.volumeComponent.parameterList.Count; ++j)
for (int j = 0; j < chain.volumeComponent.parameterList.Length; ++j)
{
var parameter = chain.volumeComponent.parameterList[j];
((DebugUI.Table.Row)table.children[++iRowIndex]).children.Add(
Expand Down Expand Up @@ -675,18 +675,14 @@ private static void GenerateTableRows(DebugUI.Table table, List<VolumeParameterC
table.children.Add(separatorRow);

var results = resolutionChain[0].volumeComponent;
for (int i = 0; i < results.parameterList.Count; ++i)
for (int i = 0; i < results.parameterList.Length; ++i)
{
var parameter = results.parameterList[i];

#if UNITY_EDITOR
string displayName = ObjectNames.NicifyVariableName(parameter.debugId); // In the editor, make the name more readable
#elif DEVELOPMENT_BUILD
string displayName = parameter.debugId; // In the development player, just the debug id
#if UNITY_EDITOR || DEVELOPMENT_BUILD
string displayName = VolumeDebugData.GetVolumeParameterDebugId(parameter);// In the development player, just the debug id
#else
string displayName = i.ToString(); // Everywhere else, just a dummy id ( TODO: The Volume panel code should be stripped completely in nom-development builds )
#endif

table.children.Add(new DebugUI.Table.Row()
{
displayName = displayName
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -149,10 +149,10 @@ float ComputeWeight(Volume volume, Vector3 triggerPos)
if (!profile.TryGet(selectedComponentType, out VolumeComponent component)) return 0;
if (!component.active) return 0;

float weight = Mathf.Clamp01(volume.weight);
float weight = volume.weight;
if (!volume.isGlobal)
{
var colliders = volume.GetComponents<Collider>();
var colliders = volume.colliders;

// Find closest distance to volume, 0 means it's inside it
float closestDistanceSqr = float.PositiveInfinity;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -566,7 +566,11 @@ void RefreshDebug<T>(DebugUI.Field<T> field, T value)
displayName = "Max Subdivisions Displayed",
tooltip = "The highest (most dense) probe subdivision level displayed in the debug view.",
getter = () => probeVolumeDebug.maxSubdivToVisualize,
setter = (v) => probeVolumeDebug.maxSubdivToVisualize = Mathf.Max(0, Mathf.Min(v, GetMaxSubdivision() - 1)),
setter = (v) =>
{
// If no baked data, force to set the value as kMaxSubdivisionLevels for UX.
probeVolumeDebug.maxSubdivToVisualize = GetMaxSubdivision() == 0 ? ProbeBrickIndex.kMaxSubdivisionLevels : Mathf.Max(0, Mathf.Min(v, GetMaxSubdivision() - 1));
},
min = () => 0,
max = () => Mathf.Max(0, GetMaxSubdivision() - 1),
});
Expand Down Expand Up @@ -1122,21 +1126,24 @@ internal bool GetFlattenedProbeData(
out float[] validity,
out Vector4[] occlusion,
out Vector4[] skyOcclusion,
out Vector3[] skyOcclusionDirections)
out Vector3[] skyOcclusionDirections,
out Vector3[] virtualOffset)
{
positions = null;
irradiance = null;
validity = null;
occlusion = null;
skyOcclusion = null;
skyOcclusionDirections = null;
virtualOffset = null;

var positionsList = new List<Vector3>();
var irradianceList = new List<SphericalHarmonicsL2>();
var validityList = new List<float>();
var occlusionList = new List<Vector4>();
var skyOcclusionList = new List<Vector4>();
var skyOcclusionDirectionList = new List<Vector3>();
var virtualOffsetList = new List<Vector3>();

foreach (var cell in cells.Values)
{
Expand Down Expand Up @@ -1203,6 +1210,12 @@ internal bool GetFlattenedProbeData(
skyOcclusionDirectionList.Add(skyOcclusionDirection);
}

if (cell.data.offsetVectors.Length > 0)
{
var offsetValue = cell.data.offsetVectors[probeFlatIndex];
virtualOffsetList.Add(offsetValue);
}

Vector4 L0_L1Rx = Vector4.zero;
Vector4 L1G_L1Ry = Vector4.zero;
Vector4 L1B_L1Rz = Vector4.zero;
Expand Down Expand Up @@ -1304,6 +1317,7 @@ internal bool GetFlattenedProbeData(
occlusion = occlusionList.ToArray();
skyOcclusion = skyOcclusionList.ToArray();
skyOcclusionDirections = skyOcclusionDirectionList.ToArray();
virtualOffset = virtualOffsetList.ToArray();

return true;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ public APVLeakReductionModeParameter(APVLeakReductionMode value, bool overrideSt
/// A volume component that holds settings for the Adaptive Probe Volumes System per-camera options.
/// </summary>
[Serializable, VolumeComponentMenu("Lighting/Adaptive Probe Volumes Options"), SupportedOnRenderPipeline]
[CurrentPipelineHelpURL("probevolumes")]
public sealed class ProbeVolumesOptions : VolumeComponent
{
ProbeVolumesOptions()
Expand Down
Original file line number Diff line number Diff line change
@@ -1 +1 @@
area: Post-processing and UI Features
area: Post-processing and Compositing
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,16 @@ private void InitDefaultResourcesIfNeeded()
m_WhiteTexture2D = RTHandles.Alloc(Texture2D.whiteTexture);

if (m_ShadowTexture2D == null)
{
m_ShadowTexture2D = RTHandles.Alloc(1, 1, CoreUtils.GetDefaultDepthOnlyFormat(), isShadowMap: true, name: "DefaultShadowTexture");

// Fill the shadow texture with the default (far-plane) depth value for the current platform.
CommandBuffer cmd = CommandBufferPool.Get();
cmd.SetRenderTarget(m_ShadowTexture2D);
cmd.ClearRenderTarget(RTClearFlags.All, Color.white);
Graphics.ExecuteCommandBuffer(cmd);
CommandBufferPool.Release(cmd);
}
}

internal void Cleanup()
Expand Down
Original file line number Diff line number Diff line change
@@ -1 +1 @@
area: Graphics Optimization Systems
area: Culling
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ public class LightmapSamplingSettings : IRenderPipelineGraphicsSettings

int IRenderPipelineGraphicsSettings.version { get => m_Version; }

bool IRenderPipelineGraphicsSettings.isAvailableInPlayerBuild => true;

[SerializeField, Tooltip("Use Bicubic Lightmap Sampling. Enabling this will improve the appearance of lightmaps, but may worsen performance on lower end platforms.")]
bool m_UseBicubicLightmapSampling;

Expand Down
Loading