Skip to content
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

Internal/master #8073

Merged
merged 67 commits into from
May 21, 2024
Merged

Internal/master #8073

merged 67 commits into from
May 21, 2024

Conversation

UnityAljosha
Copy link
Collaborator

Please read the Contributing guide before making a PR.

Checklist for PR maker

  • Have you added a backport label (if needed)? For example, the need-backport-* label. After you backport the PR, the label changes to backported-*.
  • Have you updated the changelog? Each package has a CHANGELOG.md file.
  • Have you updated or added the documentation for your PR? When you add a new feature, change a property name, or change the behavior of a feature, it's best practice to include related documentation changes in the same PR. If you do add documentation, make sure to add the relevant Graphics Docs team member as a reviewer of the PR. If you are not sure which person to add, see the Docs team contacts sheet.
  • Have you added a graphic test for your PR (if needed)? When you add a new feature, or discover a bug that tests don't cover, please add a graphic test.

Purpose of this PR

Why is this PR needed, what hard problem is it solving/fixing?


Testing status

Describe what manual/automated tests were performed for this PR


Comments to reviewers

Notes for the reviewers you have assigned.

RSlysz and others added 30 commits April 29, 2024 16:46
…pector

Some fields use shared data through different renderer instances.

Was not able to produce it on my computer at all, but was able to produce it on Kirill ones and we pair debugged it on 6000. The root of issue is in the end that the Renderer is shared between the RPAsset in use and the RPAsset edited through the inspector. To assess the compatibility of the renderer, it need to be constructed again with the current architecture. And then when the inspector is modified we destroy the constructed copy. It could have work but they share some data that got destroyed and caused the null reference if the rendering occures between shared data is recreated.

Note that the architecture is as is since the implementation of Renderer as an asset. So changing anything here is really touchy. Aggregated test seems to be green but this _require extended QA tests_.
* Significant performance optimization for loading scenes. On the avalanche demo scene, APV loading goes from **15 minutes** to a few seconds.

* Fixed subdivision that would create bricks of unwanted subdivision level when using the max amount of subdivisions.

* Fixed file writing error occuring randomly that would make the bake result not be written to disk

* Fixed validity sampling not taking light layers into account

* Fixed rounding error in probe volume sampling

* Fixed floating point issue when computing the size of cells during baking which would lead to asserts during runtime

* Minor optimization of runtime sampling code

* Fixed error with sample gi node in builtin

* Improve debug views by adding NdotL to probes
This fixes a bug where Blit scale was incorrectly computed assuming a square shadow atlas (e.g. width == height). 

While fixing this issue, I also noticed that we were redundantly bliting the cached shadows since the introduction of HDShadowRequestsUpdateJob.cs (l. 189 shadowManager.cascadeShadowAtlas.mixedRequestsPendingBlits.Add(shadowRequestSetHandle[index]); ) : 

![image](https://media.github.cds.internal.unity3d.com/user/5918/files/35a3a92e-ebbc-4209-8c96-221b76af0d26)

This PR also remove the redundant blit: 
![image](https://media.github.cds.internal.unity3d.com/user/5918/files/0aa944a1-1345-4c0c-b417-7d5aea36ecba)
This issue has been introduced with https://github.cds.internal.unity3d.com/unity/unity/pull/38694 landed in 2023.3.0a17
Technically, it wasn't a regression because gradient wasn't available before this version.

**Before**
![image](https://media.github.cds.internal.unity3d.com/user/42/files/2cd692dc-d9a7-495a-b1c6-9d046bd437c6)

**After**
![image](https://media.github.cds.internal.unity3d.com/user/42/files/c4336250-03f8-4121-abcb-d1bac2ce3316)
UX Figma: https://www.figma.com/file/09QezXCuo6EramfROpo6R3/Additional-Setting-Audit?type=design&node-id=65-64&mode=design&t=hlS0jj9dAj1gsSEr-0

JIRA: https://jira.unity3d.com/browse/UUM-59559

Before we had per editor visibility and a global state visibility Now we just have one setting that is applied everywhere:

![imagen](https://media.github.cds.internal.unity3d.com/user/3279/files/a33da607-0421-48ba-b986-9c8a53b58460)

On Context menus of the components that were using the Show Additional Properties... is being replaced to Open Graphics Preferences:

![imagen](https://media.github.cds.internal.unity3d.com/user/3279/files/b474b87d-67da-4470-ad8b-426c09c5939e)

Core Render Pipeline Preferences and HDRP preferences are now unified into a single place:

![imagen](https://media.github.cds.internal.unity3d.com/user/3279/files/d15d2a66-f85d-411a-afa9-198457b37dbe)

Fixed HDRP Water Surface component to show the additional properties option and use the highlighter.

![imagen](https://media.github.cds.internal.unity3d.com/user/3279/files/d05a3f81-7b9b-49ac-9208-ed9d857080e1)

SDF Baker Tool, has one single burger menu, with show advanced properties, and also use the highlighter.

![imagen](https://media.github.cds.internal.unity3d.com/user/3279/files/1a76fa65-8528-4e8b-9a7b-6f1d513495bd)


Modified the docs of additional properties to be advanced properties, and live in the core documentation.

### Mat Cap Changes.

Now mat cap default values are under Preferences > Graphics > HDRender Pipeline > Mat Cap Mode Default Values.

Those values are the ones used when the Scene View Lighting Mode is disabled. And are the default values for the Rendering Debugger.

Now the Rendering Debugger can modify the MatCap values that are being used into the scene and into the game view:

![imagen](https://media.github.cds.internal.unity3d.com/user/3279/files/b2bf90b0-087e-4704-8e7d-d4ee05c3de36)

Fixing also that standalone Rendering Debugger was not able to modify the values of the intensity of the Mat Cap functionality
![imagen](https://media.github.cds.internal.unity3d.com/user/3279/files/b51579d1-078e-47d7-8407-51567105e656)


### Decal Gizmo Color

For URP we are exposing as HDRP was doing the color of the decal projector gizmo, now they are in sync.

![imagen](https://media.github.cds.internal.unity3d.com/user/3279/files/af2e3a13-c398-436b-91f5-99099b172abe)
Disabling many instabilities on trunk
Jira: [VFXG-444](https://jira.unity3d.com/browse/VFXG-444)

Several small quality of life improvements on the new node search window:
- Reorganized some nodes and more consistent naming
    - Output contexts are organized under separators
    - Collision nodes are renamed and reorganized
    - Get and Set Attribute nodes also organized under separators
    - Position nodes renamed/reorganize
- Updated icon for expand/collapsed side panel <img width="16" alt="NodeSearch-expand@2x" src="https://media.github.cds.internal.unity3d.com/user/4003/files/66bcccdb-87b2-406d-9663-ee292ed995e2">
- Updated icon for show/hide sub-variants <img width="16" alt="sub-variant-visible" src="https://media.github.cds.internal.unity3d.com/user/4003/files/bbf96452-c12c-4728-b007-549b55489c1d">
- Better doc button behavior (hides when useless, disabled when no doc)
- Easily find `Add`, `Multiply`, `Blend` composition modes for attribute in search result even when subvariant are not enabled
- Sort search result by relevancy inside a category
- Open details panel with a button on items with sub-variant available (there was an arrow icon which was not clickable)
- Introduce separators to visually better organize nodes (not using folders to avoid the fold/unfold burden)
- Added a bunch of synonyms, listed here ([1](https://www.notion.so/unity3d/Create-synonym-List-for-all-Contexts-5f4cc076051445bc9c0b94a9916f8669?pvs=4), [2](https://www.notion.so/unity3d/Create-synonym-List-for-all-Operators-4a2e209abff54e5c9f6acabb8bcdf5a7?pvs=4), [3](https://www.notion.so/unity3d/Create-synonym-List-for-all-Blocks-39ed4a419a504d9096ed6c429a5de2ad?pvs=4) 

![Unity_ZD75H7FP9N](https://media.github.cds.internal.unity3d.com/user/4003/files/49c56a21-972f-413e-87d3-35a4ee03a0dd)
**Separators**⤴

![Unity_dwadGwIalN](https://media.github.cds.internal.unity3d.com/user/4003/files/2ba02b18-f915-4a17-886b-fb23e498434b)
**Search result sorting & new design to better identify node's setting**⤴

![Unity_UcBKIkIPWd](https://media.github.cds.internal.unity3d.com/user/4003/files/0bca233c-4e22-40c1-a4ba-12d31838df01)
**Prefix search with `+` to temporary include subvariants**⤴
**And new synonyms: `+`=>`Add`, `*`=>`Multiply`, `=`=>`Set`, `%`=>`Blend`**

Some other improvements that were needed for consistency:
- New Local/World/None buttons, with new icons ![WorldSpace](https://media.github.cds.internal.unity3d.com/user/4003/files/d2b02d9d-89fc-4533-aef5-5d6fc2d0e1f1) ![LocalSpace](https://media.github.cds.internal.unity3d.com/user/4003/files/a4228795-4219-42a0-8585-5931f69991c1) <img width="16" alt="NoneSpace@2x" src="https://media.github.cds.internal.unity3d.com/user/4003/files/04b080db-0afd-4647-a6e6-aea9c3e14383">
- Node's title have settings displayed with same "pill" design as in the node search
![Unity_fo4rN2EexU](https://media.github.cds.internal.unity3d.com/user/4003/files/00ca3510-2307-4b26-a86a-a2ddeab9ade6)
Fix incorrect behavior identified in https://jira.unity3d.com/browse/UUM-67135

The NRP Compiler logic detects if the current render target is being used outside the current native render pass (e.g. when the pass is broken up by an unsafe pass), and determines the store action for this case. For MSAA resources, the logic loops through the Readers (which contains the list of passes that either read or write to the resource), and it assumed that MSAA Samples need to be preserved only if it is bound as a fragment (Raster Pass render target), or if the `bindMS` flag on the texture is set. This logic did not cover the use case of 2D Renderer, where the MSAA texture was used inside an Unsafe Pass by as argument to SetRenderTarget. 

This PR does ~two~ one thing:
1) ~Removes the workaround 2D had to use to get around this issue (cc @kenny-tan)~
2) Improves the underlying issue by always using StoreAndResolve action when resource is read by an Unsafe Pass. We must currently store both surfaces because we cannot know if the Unsafe Pass needs the resolved or non-resolved data. (cc @charles-hollemeersch, @adrien-moulin)
    - **PLEASE NOTE!** This may potentially result in worse performance

After the fix, RG Viewer now shows "StoreAndResolve" instead of "Resolve": 
![image](https://media.github.cds.internal.unity3d.com/user/3380/files/b36189b0-5da4-4405-aab9-be4e6d4116e0)

**NOTE** ~There is a separate bug where the "store reason" is incorrect - new RG Viewer doesn't correctly handle the separate store reasoning for MSAA data, I will handle this in a separate PR.~ Fixed in https://github.cds.internal.unity3d.com/unity/unity/pull/46792
…get platform

This fix works around a shader miscompilation when targeting mobile. In practice this causes artifacts in code that uses octahedral encoding/decoding functions.

A bit of history is warranted here. In this PR https://github.cds.internal.unity3d.com/unity/unity/pull/46787 I fixed a similar issue, and the explanation in that PR still holds. That fix addressed a case where we call the octahedral encoding function, which expects a float as input, with a half on mobile. I 'fixed' it by making the function take half's on mobile. Unfortunately, that fix introduced a regression in cookie shading. The cookie issue is sort of the opposite - we are passing floats where the function expects half on mobile.

To make it completely clear, both of these setups _should_ work - half<->float conversion should be happening without issues. I'm convinced we are dealing with a miscompilation here. In order to make a fix that works for both kinds of inputs, both half and float, I drilled into the shadercode to find the minimal repro. The problematic instructions are a few calls to abs() which give incorrect outputs. When the abs() is present, instead of half<->float conversion, we seem to get something more akin to a direct bit-cast between the 2 datatypes, which results in reading uninitialized memory when converting half->float (hence why the repro in https://github.cds.internal.unity3d.com/unity/unity/pull/46787 is violently shaking), and truncation of bits when converting float->half (hence why the repro in the cookie bug is completely static, but corrupt looking).

**As a fix**, I've reverted the function back to its initial state of taking floats as input, and replaced the abs() calls with a manual sign check. This fixes both of the aforementioned issues.
Fix https://jira.unity3d.com/browse/UUM-70038

This PR fixes some incorrectly capitalized user-facing text in various editors.
…mework

Avoid having multiple copies of the same script and enable the feature on HDRP projects
This PR fixes 3 minor regression bugs related to HQ lines (2 of which are https://jira.unity3d.com/browse/UUM-58687, https://jira.unity3d.com/browse/UUM-58614). 

The third bug is checking just one end of a segment for visibility is too crude and will make hair around silhouettes disappear. The change done here is to check both ends, which fixes the problem for all cases we've observed (but is not a complete solution). A more complete solution for this would be to do a test against depth pyramid. This is a regression and the logic used to check both ends of the segment
Fixed a nullreference exception when baking a reflection probe with this combination of frame settings:
- SSR disabled
- Refraction disabled
- SSGI disabled
- SSMS enabled
…g enabled to QV

Introduce two new jobs for **URP_2D** project with `graphicsJobs` PlayerSetting  enabled.

The method chosen is to use com.unity.cli-project-setup, and call CmdlineSetup.Setup method through the command line.
-executemethod was used, however it cannot be possible to execute multiple methods in one command line call, therefore it is setup in a separate Unity.exe call

In addition the separate call is needed since the project needs a restart after that setting change.

These are added to QV, requested by @kenny-tan
Rename the Graphics Performance test framework package to follow convention. 

**New name:** com.unity.test-framework.graphics.performance
**New display name:** Graphics Performance Test Framework
**New version:** 1.0.0

-Changelog has been reset.
- version define in all amsdefs to use all the new package name 

###Dependencies

Used GitHub search to find all references in the repo and updated:
-dependent packages
-Recipes
…nd the panel count changes.

There are debug panels that only appear when the editor is in playmode. Such as Display Stats.

Display stats, always appears on top of the Rendering Debugger panels list. This makes the indexes shift. The editor debug window is storing the id of the selected panel, and not the name. Names do not change between entering/exiting playmode. So is safer to keep the display name, And retrieve the current panel index from the DebugManager when requested.
This PR fixes a NullReferenceException occuring when changing decals settings in HDRP while VFX window is present but hidden in the layout.
Docs quality sprint 17 April, Oleks

Tickets in this PR:

DOCG-5296. "a combination of 2D and 3D Lights and 2D and 3D Renderers in a single Scene"

DOCG-4772. Unlit shaders edit.

DOCG-5083 cameraOutput is not a property of UniversalAdditionalCamera… 

DOCG-4935 There should be {} at the end of the property after "white"

DOCG-5449. Spelling error.
…pty RecordRenderGraph

This PR improves the warning message displayed when a URP Render Pass has no Render Graph implementation.
…ame time on inspector

When selecting multiple VFX with exposed properties, if those exposed properties had different values, any change in the inspector was resetting the values of the exposed properties, because we were not tracking GUI changes locally.

This issue was also responsible of the Allow Instancing property not being properly applied when selecting multiple objects.

This PR also adds a property drawer for animation curves, that were not displayed if multiple objects with different exposed animation curves were selected.
<img width="533" alt="image" src="https://media.github.cds.internal.unity3d.com/user/2805/files/f6c2c4e1-a4b5-4cc4-8793-c2acd541ae11">
…er Graph

Fix https://jira.unity3d.com/browse/UUM-71269

Only display the Native Render Pass checkbox (and its subheader) when URP Compatibility Mode is enabled (i.e. Render Graph is disabled). This checkbox does nothing when Render Graph is enabled, so it should be hidden to avoid confusing users.
Remove all "HD RP" reference in buginfo files and replace with relevant Area
Fix unexpected return value of spawnCount while using GPUEvent, it was returning zero. The expected value is available with GPUEvent through elementCount.
This PR fixes obsolete API usage in URP samples. 

In addition, new tests are added to SRP_SmokeTests that import all samples in URP and HDRP and ensure there are no errors or warnings:

![image](https://media.github.cds.internal.unity3d.com/user/3380/files/a026759e-42bb-4054-954d-babf20ecbafe)
This PR fixes https://jira.unity3d.com/browse/UUM-70287

On Metal, shader compiler warns about using `int` on divide operations, and suggests to use `uint` instead to improve performance. This is fine so we do as the warning suggests.
…mentation

Add documentation for the following in URP and HDRP

- GPU Resident Drawer
- GPU culling

Jira tickets:

- https://jira.unity3d.com/browse/DOCG-5317
- https://jira.unity3d.com/browse/DOCG-5318
List of fixes:
- Display subpass index and attachment index in side panel to improve debugging and performance analysis (including better tooltips for both)

![image](https://media.github.cds.internal.unity3d.com/user/3380/files/3108fe66-9203-4893-933f-17d7510af761)

- Limit side panel foldout minHeight when both are expanded, so that you can't drag it all the way to the top/bottom:

![rg-viewer-sidepanel-minheight](https://media.github.cds.internal.unity3d.com/user/3380/files/371cd481-e22b-4b34-a151-467e4446e81a)
- Fix a bug in pass break reasoning where previous pass type was incorrect
- Fix bug where pass tooltip size was incorrect resulting in text being cut:

Before: 
![image](https://media.github.cds.internal.unity3d.com/user/3380/files/75361d4e-f6b0-484e-982d-859ad1124c8a)
After: (see below)

- Fix an issue where having multiple usage icons (i.e. Global & FB Fetch) for a given resource block was not properly supported. Add a new icon in this case, and update tooltip structure:

![image](https://media.github.cds.internal.unity3d.com/user/3380/files/7374a9aa-6c5c-4099-9fbc-3e0e996f050b)

- Fixed possible NullReferenceException described in https://jira.unity3d.com/browse/UUM-69981
Jira: UUM-71376

Steps to reproduce:
1. Create project using High Definition 3D Template
2. Create VFX Asset and open it
3. In New VFX window press space or right-click to open VFX Node Search Window
4. In VFX Node Search window press on “>” to show details panel
5. Select the “Context” folder and change the folder color
6. Once the color of the folder is changed press “Reset color to default” button
7. Observe the Console window

Actual results: "NullReferenceException: Object reference not set to an instance of an object" error is thrown when pressing reset button
Expected results: No errors when pressing reset button

Reproducible with versions: 6000.0.1f1
Not reproducible with versions: 6000.0.0f1

Tested on (OS): macOS Sonoma 14.4.1 (M1), Windows 10

![Video](https://jira.unity3d.com/secure/attachment/1443182/Screen%20Recording%202024-05-03%20at%2010.51.02.mov)
axoloto and others added 26 commits May 10, 2024 01:53
… resources deallocation

This is a follow-up PR of #48436 which was a temporary fix of [UUM-70492](https://jira.unity3d.com/browse/UUM-70492):
- Safety test is re-enabled in RenderGraphResourceRegistry
- Debug data function is called only in Editor mode as Render Graph Viewer is only visible within it.
- Debug data filling Render Graph Viewer is generated before Render Graph execution pass where we deallocate resources, potentially corrupting debug data.
… wrongly handled and disposed before it was completed.

As the Search request is executed asyncronously. if we dispose the context. The RP converter for Buit in materials can not finish properly.

Disposing the context, when is finished.
This change rewrites a good deal of the logic within URP's alpha clipping function that's responsible for handling alpha to coverage behavior. In addition to handling the degenerate use case where cutoff is set to zero, this code now also handles the case where alpha and cutoff are equal. It does this by modifying the sharpening function to yield 1.0 rather than 0.5 in the equal case while still maintaining the other parts of the curve.
Fixes a bug with terrain rendering on Quest2/Pico4 where holes would not display properly. [UUM-61913](https://jira.unity3d.com/browse/UUM-61913)
The starter templates VFX Asset's descriptions were updated, and some changes were made to the default VFX resources:

- Fixed Typo and lousy spelling of VFX template description.
- Made a grammar and language style pass.
- Change the default Animation Curve to Linear [0-1].
-Change the Default VFX Texture to "DefaultDot.tga" so it's the same as the starter templates asset.
-Change the Default VFX Mesh to the editor Built-in Cube.fbx as it's more common and lightweight than the previous Capsule mesh.

![image](https://media.github.cds.internal.unity3d.com/user/5910/files/e1923745-dcf5-426d-a3c4-b0b10e4068a8)
Fix for https://jira.unity3d.com/browse/UUM-61051

This PR fixes motion vectors being broken on URP Deferred. This was apparent because _CameraDepthTexture was showing a default texture in Frame Debugger when using Deferred. Binding the texture fixes that, and the output looks correct now.

Before:

https://media.github.cds.internal.unity3d.com/user/3380/files/732ede31-e722-48b5-9fb1-ac30818468c1

After:

https://media.github.cds.internal.unity3d.com/user/3380/files/bcaa314f-6609-441d-bae2-a8b59dfbe78a
…pecific circumstances

This PR fixes two issues:

https://jira.unity3d.com/browse/UUM-71897 
Regression from recent PR https://github.cds.internal.unity3d.com/unity/unity/pull/48923 caused errors to be printed if URP is not the active pipeline when inspecting URP renderer assets. Added a null check.

https://jira.unity3d.com/browse/UUM-71890
When opening the editor, it's possible SRP is configured to be used but it has not been activated. In this situation you may see an empty volume inspector. Adding a message to let user know what is happening.
Various fixes for Rendering Debugger "Map Overlays" for URP Render Graph and non-RenderGraph paths.
Simple API to get animation state to be able to restore it later, or on another machine over network.

```cs
var data = VolumetricClouds.animationData;
VolumetricClouds.animationData = data;
```
Improve the quality of the Physical Camera documentation for URP
…pth pass

This PR disables Native Render Pass (NRP) support of URP Editor-only `FinalCopyDepth` pass which is used a pre-step for the Post-Process Gizmos pass in URP 3D. Using NRP in this pass triggered a corner case which is not well covered by NRP pipeline in Compatibility mode. Indeed, NRP pipeline begins a native render pass with a number of MSAA samples taken from the `CameraTargetDescriptor`. `CameraTargetDescriptor` seems to obtain that information from the RenderPipeline asset, so depending on what users select in the UI, it can be no MSAA/x2/x4/x8. On the other hand, `FinalCopyDepth` seems to be the only pass targeting `k_CameraTarget` in URP 3D and its attachment (backbuffer) has no MSAA enabled, triggering a mismatch in NRP validation layer as the number of samples is different (unacceptable in NRP). As this is Editor only + Compatibility mode, I assume that using NRP for this pass is not really important and can be disabled. Compatibility mode with no NRP works fine for this case.

Note that NRP Render Graph should be preferred over NRP Compatibility mode for Unity 6.
Fix error in the console when using light dimmer
Updated the leak reduction mode to Performance/Quality options
![image](https://media.github.cds.internal.unity3d.com/user/2154/files/e643a61d-a90a-48a4-980e-0fb6140d285c)

Performance is the same as previous ValidityBased mode. Does a single sample with warped UVW
Quality is a new one that does up to 3 samples and never samples an invalid probe to eliminate leaking.

See improvement on the difficult case of the tent in the URP sample scene
| Performance | Quality |
| -- | -- |
| ![image](https://media.github.cds.internal.unity3d.com/user/2154/files/12b7105f-00f3-4f31-b82d-f4d928725fae) | ![image](https://media.github.cds.internal.unity3d.com/user/2154/files/2fa02f0a-2e2b-455a-83b9-b919b7188f3a) |
1- XRSystem.New XRLayout, always have the same layout, it is not a new, So the active passes are cleared.
2- On XR Multipass, Begin and End Camera Rendering was called twice, one time for each XRPass.
This PR makes changes to the shader and scene used in the RenderRequest URP Foundation graphics test and updates the corresponding reference images.

Jira [https://jira.unity3d.com/browse/UUM-28838]

The scene setup and Cubemap reflection sampling shader used for this test were confusing in terms of verifying correct functioning of the RenderRequest feature. In addition the reference images were inconsistent between platforms and some were depicting incorrect results. The cubemap test shader used was not accounting for the y-flip that occurs during render to texture and was rendering it upside down, however the reference image was expecting it to be the correct way up. 

Originally this issue was incorrectly classified as a regression. I was able to reproduce the upside down rendering of the cubemap test on the very first revision when it landed in Trunk, my conclusion is that the reference image wasn't correctly generated.

Summary of changes:
Change the test meshes to be quads rather than spheres. This makes it easier to visualize and debug the resulting render texture result of RenderRequest.

Sphere:
![image](https://media.github.cds.internal.unity3d.com/user/760/files/7ef4749d-c1de-451a-9da6-a6218c69ec7d)

Quad:
![image](https://media.github.cds.internal.unity3d.com/user/760/files/85414873-c683-49d8-aaa6-392b6d198054)

Change the shader graph cubemap sample node from reflected cubemap to direct cubemap sample
![image](https://media.github.cds.internal.unity3d.com/user/760/files/6c374f10-e5f5-43b2-b04e-3515f141cf08)

The input vector to cubemap sample has -1.01 in its x component to select the -x face that RenderRequest renders into in the test. The UVs from the quad are mapped to y,z components of the input vector. Since we are in the x plane with y up, u is mapped to z and v is mapped to y going from 0..1 to -1..1 space and accounting for the y-flip in the y axis, since render to textures are never flipped back in Unity.
 
![image](https://media.github.cds.internal.unity3d.com/user/760/files/d23041c4-7140-431b-83be-f26fa774fd75)
The previous code was using the same graphics format for the scaling
setup and FSR upscaled RTs. When FSR is active, we use a unorm format
on the EASU input RT (scaling setup's output) to avoid banding since
its content is gamma2 encoded.

We were unnecessarily using this format for the final upscaled RT as
well which contains linearly encoded color data and can safely use
the pipeline's standard color format.

In this case, the unnecessary format modification was making the
banding more visible.

Before:
![image](https://media.github.cds.internal.unity3d.com/user/4435/files/6107cf5e-e26e-4590-96ae-15e151bee4dd)

After:
![image](https://media.github.cds.internal.unity3d.com/user/4435/files/7e595fa3-bd24-4bf2-b124-ef0966e44ed5)
Minor fixes to property tables and links in the URP Docs
…e argument

It was brought up that we can enable the `graphicsJobs` setting using the `-force-gfx-jobs split` command line argument, therefore removing the need of using the `com.unity.cli-project-setup` package.

This PR adds the argument to the utr flags and removes the call to open the project and execute the method from the `com.unity.cli-project-setup` package.

The pipelines run with `kGfxThreadingModeSplitJobs` instead of `kGfxThreadingModeNonThreaded`
… if dynamic resolution is active for RenderGraph

Jira: https://jira.unity3d.com/browse/UUM-68032
Prevent foveation for intermediate passes if dynamic resolution is active on Quest
The static lighting sky used when baking was kinda random
Now it always use the one from the active scene
* Fixed perceptual blending when enabling atmospheric scattering.
* Fixed upscaling and reprojection around object borders
* Fixed  upscaling when there is a checkerboard pattern in the depth buffer
* Optimized memory usage when project is using R11G11B10 and anti-ghosting is on
* Enabled anti-ghosting by default
* Optimized depth downsampling + reprojection + upscaling

Checkerboard example: The green object is doing checkerboard fading via shadergraph and is behind behind the clouds, previously you would see it through the clouds
| before | after |
| -- | -- |
| ![image](https://media.github.cds.internal.unity3d.com/user/2154/files/abb9001b-5002-421d-a53f-6aee66af9fce) | ![image](https://media.github.cds.internal.unity3d.com/user/2154/files/5218a853-f6bc-4c90-8cc0-8d1994b7c5e5) |
Style guide and formatting fixes for the URP Docs
@UnityAljosha UnityAljosha requested review from a team as code owners May 17, 2024 13:11
@UnityAljosha UnityAljosha merged commit eb76807 into master May 21, 2024
2 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.