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 #8110

Merged
merged 85 commits into from
Nov 28, 2024
Merged

Internal/master #8110

merged 85 commits into from
Nov 28, 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.

gmitrano-unity and others added 30 commits November 1, 2024 14:54
This change adds a new debug setting to render graph that allows users to disable pass merging if desired. This allows them to either diagnose issues caused by pass merging, or to isolate performance changes due to pass merging.

Off:
![image](https://media.github.cds.internal.unity3d.com/user/4435/files/a93a40ea-37f6-4d95-84f6-3f9e340c795b)

On:
![image](https://media.github.cds.internal.unity3d.com/user/4435/files/a4bc9bc2-6431-4116-93bc-0d34a10f0338)
Issue : https://jira.unity3d.com/browse/UUM-35986
We have identified that certain GPU drivers (specifically, Power VR drivers in this case) delay sending commands to the hardware until a specific threshold is met
The issue at hand arises because glClientWaitSync() is being called before the previous commands have been dispatched to the hardware. To address this, we propose inserting a call to glFlush() before invoking glClientWaitSync() to ensure that the queued commands are sent to the hardware, avoiding the error described.

This PR also reverts the  changes done for https://jira.unity3d.com/browse/UUM-59572
The purpose of this PR is to ensure that we explicitly test reflection probes. This is done by re-enabling disabled tests which exercise the possible paths to reflection probe baking. 
With this PR the tests have been moved to the LightBaker test suite.
Jira: https://jira.unity3d.com/browse/UUM-79581

More context in https://github.cds.internal.unity3d.com/unity/unity/pull/53633

This PR fixes a bug that prevents lighting data associated with APV from being included when you export a unitypackage with a baking set or scene using APV.

APV currently has 2 paths for getting lighting data into the built player: Via StreamingAssets, or via regular asset references. The asset references are intentionally left `null` until it is time to build the player, then conditionally populated based on which path we are using. In https://github.cds.internal.unity3d.com/unity/unity/pull/53633 I added a similar path for bundle builds, which were not working properly. Now a new issue has popped up - since the asset references are not always populated in editor, unitypackage exports can't find them, as they rely on asset references to find asset dependencies.

In this PR, I am scrapping the existing approach and inverting the logic: Now we _always_ populate the asset references, and only conditionally temporarily clear them when we want to build a player using the StreamingAssets path. This should be a lot more robust, and will prevent us from having to add new special cases every time a new unforeseen consequence of having these "pseudo-dependent" assets pops up.

To handle scenes that were baked before this change, I added an upgrade path that populates the asset references in old baking sets when they are loaded.
This requirement is now redundant as the compiler has been updated to automatically insert this requirement for compute shaders. Removing it eliminates some warnings that are now popping up due to the redundancy.
…Property with MaterialPropertyBlock.

Fix (Case UUM-85335) 2D Renderer Breaks When Animating Material Property with MaterialPropertyBlock.
Finish work started by Adrien here: https://github.cds.internal.unity3d.com/unity/unity/pull/48279

Before:
Pre scatter:
![image](https://media.github.cds.internal.unity3d.com/user/745/files/602d8815-55a7-4173-b99d-c93ccf58f452)

Pre-Post scatter:
![image](https://media.github.cds.internal.unity3d.com/user/745/files/591dd9b0-d156-4539-8b30-31e74d6faeab)

After:
![image](https://media.github.cds.internal.unity3d.com/user/745/files/618a2dcd-817b-4768-8469-9c06110f0df3)


The blue area on the material has an SSS mask of 0, so they shouldn't contribute to the SSS of the image.

Also added a new option for the occlusion of SSS materials when they are close to non-SSS ones:

In this scene the two squares are default material (non-SSS) and the background is SSS with a large diffusion radius

Before:
![image](https://media.github.cds.internal.unity3d.com/user/745/files/c7889167-1dfc-4c64-ad82-70ebcf91de1e)

After:
![image](https://media.github.cds.internal.unity3d.com/user/745/files/e43ffc1f-4cd2-40c9-b4b6-547d95442d2c)


https://media.github.cds.internal.unity3d.com/user/745/files/ea42a1c4-c93f-4c91-abb9-694a7de7a775



Blender Cycles rendering:
![image](https://media.github.cds.internal.unity3d.com/user/745/files/f7e7f12e-dc4b-4b58-a64d-14e537b1e13a)
https://jira.unity3d.com/browse/PLATGRAPH-3929
One of the big fixes in this PR is to make sure to submit any command encoders before uploading data to the same texture, otherwise there would be data race issues and the texture ends up looking incorrect on the GPU.

https://jira.unity3d.com/browse/PLATGRAPH-3930
A few other BiRP bugs popped up when fixing our webgpu backend, turns out we previously had black temp template images and never fixed a BiRP graphics tests bugs. Here is a list of bugs also fixed in this PR:
- BiRP test 877 fixed to use `RWTexture2D<half4>` instead of `RWTexture2D<float4>` since the texture that is bound uses a 16 bit format
- Implemented `CreateStencilViewForPlatform` and `DestroyStencilViewForPlatform`. This lets us have stencil only views of depth render surfaces in webgpu, and fixes test 873
- Added additional checks for the `S8_UINT` format as a depth stencil attachment, as webgpu is strict on what settings are enabled (ie load/store ops) when using a stencil only format (test 891)
- Fallback to point samplers instead of linear samplers for mip map generation when generating mip maps of a texture that has an unfilterable texture format (test 506)
- fix tests that use mip maps for the render texture and limit the mip limit to 1. The Web platform graphics apis, unlike other graphics apis, do not allow color attachment texture views and depth stencil attachment views bound to the render pipeline to have different sizes, so binding a non 1st level mip causes validation errors. (tests 764 506)
- fix texture copy logic to use blitting instead of a `copyTexturetoTexture` command when the source dimensions of a texture are smaller the block size of a compressed texture (test 434)
- add a WGSL parser that updates reflection info correctly for depth texture sampling usage.
…mplate and package

Fix [UUM-86039](https://jira.unity3d.com/browse/UUM-86039) where a GUID conflict between template URP asset and URP package. GUID was regenerated with template and urp package content in mind.
This PR does the following:
* Updates numerous reference images as many had incorrect settings (Read/Write, Generate Mipmaps, Compression)
* Updates a reference image for motion vector test 210 on one platform
* Updates two reference images in URP_GI that gets two jobs passing
* Disables the Gizmo test on OpenGL
* Adds missing .meta files for files that have been added in the past
…issue

Jira: UUM-83849
When a VFX asset from 2022.3 or previous version is imported, and that this VFX asset uses a custom attribute with the same name as a built-in attribute, the sanitization does not work as expected. 

How to reproduce:
- Import the attached [package](https://jira.unity3d.com/secure/attachment/1557681/Custom%20Attribute%20Upgradability.unitypackage) to 6000.x version
- Open Smoke1 VFX
- Observe that there are custom attributes of 'Seed' and 'Seed_1" and error message in the console
…Manager

Jira: https://jira.unity3d.com/browse/UUM-83766

When preserveCachedShadow is set to true on an HDAdditionalLightData, it shouldn't be evicted from the cachedShadowManager. This PR adds a missing check for this in RefreshCachedShadow().
JIRA : https://jira.unity3d.com/browse/VFXG-441

This PR improves the VFX asset compilation time, by changing the way we generate the shaders. Instead of using our old ReplaceMultiline that was slow and allocation-heavy, we recursively collect all the snippets required to build the shader and then perform a series of StringBuilder.Append.
I also tried to lower the amount of Regexes we use, as they are often significantly more expensive than parsing the patterns manually.

Changing the string building algorithm forced me to modify the templates slightly because the order of declaration and usage of some VFX-macros were not compatible.

Performance comparison on 14_PositionBlock.vfx : 
Before : 
![image](https://media.github.cds.internal.unity3d.com/user/2768/files/ba0495db-7501-4ce9-8093-5662355e9bae)
![image](https://media.github.cds.internal.unity3d.com/user/2768/files/8a587e66-60e3-47ac-9de0-44ed3092569f)

After : 
![image](https://media.github.cds.internal.unity3d.com/user/2768/files/05cbdd70-b7bd-4a2b-8263-082e0039b5ba)
![image](https://media.github.cds.internal.unity3d.com/user/2768/files/f223dd2a-fa51-4a57-9223-cd3c3a31fc33)
Jira: [UUM-72279](https://jira.unity3d.com/browse/UUM-72279)

As reported in JIRA, the Scene view flickers due to `NaN` output from the hair shader. It is because in `GetHairAngleWorld`, `angles.sinThetaI` can exceed the range [-1, 1] depending on the input hair `normalWS`. (The `L` vector may not be a unit vector in some cases.)
* `half3x3 localToWorld = GetLocalFrame(bsdfData.normalWS, bsdfData.hairStrandDirectionWS);`
* `half3 L = mul(localL, localToWorld);`

I was able to see that this `NaN` problem could happen if both `T` and `L` vectors are a unit vector due to precision. `angles.sinThetaI` can slightly exceed 1.0 so the `FastASin` result will be `NaN` in this case.

![image](https://media.github.cds.internal.unity3d.com/user/3842/files/f49cd338-9620-4d69-84e3-c9248bfb8a87)

By explicitly clamping the angles, we can prevent `NaN` output from `FastASin` calculation.
Fixes [UUM-86522](https://jira.unity3d.com/browse/UUM-86522).

Since the water exclusion shader was developed, it hasn't been tested with rendering as an entity, and thus gave a compilation error. In this PR, I've fixed this error.

<img width="884" alt="image" src="https://media.github.cds.internal.unity3d.com/user/2726/files/e9471984-2082-4c87-b066-fbf32f18dce0">
This PR fixes [UUM-86686](https://jira.unity3d.com/browse/UUM-86686).

In DebugDisplay.UpdateCameraFreezeOptions, the s_CameraNames list grow each time this method is called. This PR adds a "None" string when initializing the list, instead of doing it every time a camera is registered on unregistered.
➕ Extension from this PR https://github.cds.internal.unity3d.com/unity/unity/pull/45766 and relative to this JIRA [VFXG-477](https://jira.unity3d.com/browse/VFXG-477) linked to [POI-1353](https://jira.unity3d.com/browse/POI-1353) for 6.1

This PR extends support of read/write data to texture, the great advantage of this kind of buffer is being able to allocate them in asset folder through RenderTexture and/or Custom Render Texture.

Behind the scene, it uses the same pattern and storage than RWBuffer. The VFXExpressionUsage can take as input either a GraphicsBuffer or any texture.

🎁 This PR is also allowing parameter of type `Texture2D` directly (where we were forced to always use the macro `VFXSampler2D`)
Fix for https://jira.unity3d.com/browse/UUM-83521

Nesting subgraph blocks was not possible anymore and all blocks in subgraph block contexts appeared as "invalid" (detoured in red)
After investigation it appeared that this had never really working. However before "the regression" the issue was less obvious: Subgraph blocks could accept too many blocks regardless of their compatibility, and the red detour feedback was not working correctly. There was a big ambiguity in code about context type and compatible context types. I tried to refactor this a bit so that it's clearer and less hacky.

- Accepting blocks should work with all contexts now. For subgraph block context, it can only accept a block that is compatible with *all* its suitable contexts. 
- Invalid visual feedback should work and be refreshed correctly now (so for instance when switching the suitable context setting of the subblock context)
URP Renderer2D sets the depthStencilFormat to D32_SFloat_S8_UInt except for switch, embedded, and QNX, in which case it uses D24_UNorm_S8_UInt.

D32_SFloat_S8_UInt is not supported on a number of Android devices, such as the Galaxy Note 8 or Galaxy Note 9.

Because RenderTexture will try to find a fallback format by **increasing** the bits of the depth format, and there are no formats with more than 32 bits, the RenderTexture will fail to be created, causing the render pass to fail.

Everywhere else in Unity D24_UNorm_S8_UInt is used for Android, so we should have Android use that in Renderer2D, too.
…r than 64 due to k_MaxCubeReflectionsOnScreen when Raytracing is enabled

JIRA: https://jira.unity3d.com/browse/UUM-86779
Slack: https://unity.slack.com/archives/C6Y79CZM0/p1730454767182339

Out of bounds asserts for _PlanarCaptureVPWL and _CubeScaleOffsetWL were using an incorrect size. Fixed by using the right constants matching their actual size.
After adding example of rolling wave scene here ([#55701](https://github.cds.internal.unity3d.com/unity/unity/pull/55701)), I forgot to add #if UNITY_EDITOR around the editor script thus preventing users to make a build if the script were present. 
This PR fixes that.
…orrect exposure in later frames)

This PR fixes the issue of removing the celestial data twice resulting in a black sky cubemap.

The cleanup calling order was changed after this PR(https://github.cds.internal.unity3d.com/unity/unity/pull/49443) was applied.
The ordering change caused the removal of the celestial data for sky rendering in the middle of the render pipeline.

So it has been fixed to call the cleanup only once to maintain the celestial body data.
This PR refactors the shader code for Fog related keywords implemented by the previous PR  (#54892). I reduced the duplicate lines in the shader code because the code works just fine with both dynamic_branch and multi_compile.
…nfig

The PR fixes the compiling error when using the old URP config. The issue is that the old config doesn’t define a required value, `ShaderOptions.k_UseDynamicBranchFogKeyword`. I added the workaround, which uses reflection to check whether the value exists.
Add a general dynamic resolution/upscaling page to the manual.

Jira ticket: https://jira.unity3d.com/browse/DOCG-5783
Fixed the CameraDepthAttachment Texture for Dx11, which was rendering as black earlier. 

The issue is the Camera Depth Attachment texture is referring to the depth buffer and when the shader is trying to access the texture the texture is black.
This mainly happens because of 2 reasons:
1. When we try to set the active depth buffer texture, the code unbinds the texture(passes null value to PSSetShaderResources)
2. As the depth buffer is active, we need to set OMSetRenderTargets for depth as null to be able to access it. 

Bug: https://jira.unity3d.com/browse/UUM-64316
Port: https://jira.unity3d.com/browse/UUM-85190
…ck data

JIRA: [UUM-67179](https://jira.unity3d.com/browse/UUM-67179)

This PR is to fix the crash case caused by APV's file streaming for block data writes to the output NativeArray buffer position beyond its fixed range.
Although the reason for repro project's two different counts is unclear, the issue was successfully avoided by using the smaller count among two counts instead of using the streamable count, direcrtly.

My initial fix try was to exit the process function at the beginning when the array count and the streamable count are not identical, but as there were cases where cell reads succeeded despite of count discrepancy the direction was changed to have the current status.

One thing to note is that after fixing this the cell in position (2, 0, 0) in the repro project kept retrying to be streamed in because two streaming processes for `cellDataStreamingRequest` and `cellSharedDataStreamingRequest` were failed while reading target files with out-of-range-ing offset.
I could add early-out pre conditions for the out-of-range cases, but decided not to commit it as it looks like another issue and maybe there is an intention for repetitive read try.
alex-vazquez-unity3d and others added 26 commits November 22, 2024 09:35
The values were always false despite they should be true.
I made a fix for https://jira.unity3d.com/browse/UUM-68986 that was too aggressive - clearing the material property block after each blit actually clears properties that are needed between blits, in the case for example of edge detection. This created another bug (https://jira.unity3d.com/browse/UUM-85970) where TexelSize property was cleared between two blits in the same pass.

Luckily, in the meantime, a better fix was implemented in Unity 6 and 7 (https://github.cds.internal.unity3d.com/unity/unity/pull/51608)
This works better because it doesn't clear property blocks after each blit, only when a RenderTargetIdentifier is used, which is less aggressive than the fix I had in the first place
…tionnaries

https://jira.unity3d.com/browse/POI-1725

This PR modifies the attributes manager to use Dictionnaries instead of Lists to optimise the operations of finding attributes.
This has an impact particularly on the `PrepareSubgraphs` marker, that is heavily relying on attributes lookups.
See the Performance Testing status section for before/after comparisons.
… baked

https://jira.unity3d.com/browse/UUM-78573

This fix addresses a bug that caused the various buttons for baking only Adaptive Probe Volumes to malfunction - they would update the lights in the scene to act as baked, to avoid double-contribution from realtime lighting, but would do so in a way that wasn't persistent across scene reloads. 

The root cause is not properly respecting the Lighting Data Asset (LDA). The baked state of each light is stored in the LDA, _not_ on the lights themselves. Changing only the state on the lights themselves will not make a persistent change, and reloading the scene will reload the old unmodified data. To make the change persistent, we need to modify the LDA.

To fix this, I've taken an approach similar to what we do with reflection probes, which have the same issue:
- When you bake only probe volumes, and the scene has no LDA, we create a new empty LDA, assign it to the scene, and fill in the up-to-date states.
- When you bake only probes volumes, and the scene already has a LDA, we modify this LDA to contain up-to-date states for each light.

I had to add a few pieces of public API to achieve this.
Following recent QoL PR, for coherence we decided to add a new button also for the Decal Projector component. 
This material creation follows the UX pattern of the custom passes shaders, i.e:
- Creating the asset in the current folder
- Focus on renaming right after creation

![image](https://media.github.cds.internal.unity3d.com/user/1764/files/cc1d3ca1-d56c-43ea-98d5-a619235de601)

also did the same on URP for feature parity. The only difference is that there's no URP/Decal material so we just create a material based on the default decal material SG located here : com.unity.render-pipelines.universal\Shaders\Decal.shadergraph

![image](https://media.github.cds.internal.unity3d.com/user/1764/files/136a33a3-1879-4428-82fa-b202f97528f6)
This PR moves the Graphics Test Framework package to a path that includes the hyphen in the name. This is done in order to make the path standardized to the other existing paths we have. As discussed on Slack, renaming the package cannot happen right now, but moving it to a different path is okay.

https://jira.unity3d.com/browse/GSDET-396
…g a VFX

Jira: UUM-85231

How to reproduce:
1. Open the attached “IN-82864” project
2. In the Assets folder open the “EnemyDeath” VFX Graph file
3. Observe the Console log and the Windows prompt

Expected result: VFX Graph window opens as intended without any errors
Actual result: VFX Graph window doesn’t open, a Windows prompt “Select an app to open this .vfx file” appears and an error is logged into the console

Reproducible in: 2022.3.38f1, 6000.0.22f1

Reproducible on: Windows 11
Not reproducible on: No other environments tested

Note: Not reproduced internally by CQA

![](https://jira.unity3d.com/secure/attachment/1568365/image_2024-10-11_214015432.png)
[Provided file](https://jira.unity3d.com/secure/attachment/1568363/EnemyDeath.vfx)
Editor: when doing scene filter we reuse depth from the "normal" render pass to draw selection highlights in "filter" pass, so it needs to be preserved in render graph
To fix an issue where baking for probe volumes would fail in the Editor when Switch was selected as a runtime platform

Although the shader is used in Editor, the asset import mechanism requires that the shader is valid for the selected runtime platform. We add support for Nintendo Switch in the same way that other runtime platforms are supported by the shader
Variable Rate Shading (VRS) Tier2 support for the SRP. VRS is supported on DX12 and Vulkan only (and additionally depends on the device support).
SRP Core:
1. RenderGraph API
2. RenderGraph Compiler updates.
3. CommandBuffer API.
4. Shading Rate support for RTHandles.
5. VRS color to shading rate <-> color conversion utility functions and shaders.
6. VRS color/shading rate look-up-table (LUT).

URP:
1. Integration for URP custom passes (ScriptableRendererFeatures).
2. Init/Dispose VRS utility functions and shaders.

**Jira:** https://jira.unity3d.com/browse/PLATGRAPH-3329
**POI:** https://jira.unity3d.com/browse/POI-1041
Test shaders were selectable to users.
Put the "Conversion types and converters" section be at the beginning of the instructions.

https://jira.unity3d.com/browse/DOCG-4247
…Coord

Jira: [UUM-73947](https://jira.unity3d.com/browse/UUM-73947)

This PR adds ScreenSpace Shadow coord transform to fix incorrect SS shadow sampling from some shaders, especially for ShaderGraph shaders. URP shaders support a correct SS shadow sampling by directly using `inputData.shadowCoord` which has a cascaded position or a screen position depending on `_MAIN_LIGHT_SHADOWS_SCREEN`. However, since we cannot use vertex output in ShaderGraph, it may be difficult to calculate a correct shadow coord using only `TransformWorldToShadowCoord` unless the user manually adds `_MAIN_LIGHT_SHADOWS_SCREEN` check if SS Shadow is enabled. 


| Before | After |
| -- | -- |
|![Before](https://media.github.cds.internal.unity3d.com/user/3842/files/abd5c548-74af-4fe0-82fc-2e3590f74758)|![After](https://media.github.cds.internal.unity3d.com/user/3842/files/5c80bc48-fcd8-41cb-9cb6-2402d4aa5146)|
Removed the reflection code in runtime with the `UNITY_EDITOR` preprocessor.
… type

*[See [this document](https://docs.google.com/document/d/1IREfh8I-uX8NUfyB3H8qjnzRxXIAkZNrtu6g8n4JZIE/edit#heading=h.al4rvw6ezmw6) for details on what can land in 6000.1.]*

*[The PR comment commands commands and workflows to ready and land PR's can be found in the [pipeline documentation](https://internaldocs.unity.com/editor_and_runtime_development_guide/DevelopmentProcess/pr-process/evergreen-merge-queue/#rejoin-the-queue).]*

*[Description of feature/change. Links to screenshots, design docs, user docs, etc. Link to Jira if applicable. Remember reviewers may be outside your team, and not know your feature/area that should be explained more.]*
With the addition of the speedtree9 shader format last year, the complex lit base shader gets sometimes interpreted as the wrong type due to a missing shader path for the speedtree9 shader type. This results in complex lit being sometimes interpreted as speedtree9.
When running tests on clean projects the HDRP wizard opens up. Avoid this behavior.
…ation

DOCG-5973 updated the linear gradient image (shows the correct linear gradient now), edited the caption.

DOCG-4959 VFX code snippet "position" capitalization fix.
Fix various small docs issues raised by feedback tickets.

Jira tickets:
- https://jira.unity3d.com/browse/DOCG-5058 - fix HDRP table of contents title - no review needed
- https://jira.unity3d.com/browse/DOCG-5825 - Add compatibility for VFX Graph 17.x - **Julien please review**
- https://jira.unity3d.com/browse/DOCG-6219 - Clarify render graph code sample in Core SRP docs - no review needed
- https://jira.unity3d.com/browse/DOCG-6029 - Remove note about no custom post-processing in URP - no review needed
- https://jira.unity3d.com/browse/DOCG-5094 - Clarify properties in compound property types - **Julien please review**
Part 2 of minor fixes from feedback tickets 

Jira tickets:

- DOCG-5090 Fix double 'the' in title
- DOCG-5820 Fix RGB > sRGB
- DOCG-5702 Add location of shader log files
- DOCG-6071 Add link to writing a render pass
Reenable non-failing 190_SampleDepth test in URP Foundation. It was disabled a long time ago in https://jira.unity3d.com/browse/ANT-1248 but the job is green when reenabling it, so the case can be closed.
…[PLATGRAPH-4039]

This pull request allows our internal Yamato Tests for SRP to depend on the "ABV Subset" flavor of the "Build Switch Support" job.
This allows us to check for more potential issues because "Build Switch Support (ABV Subset)" enables Asserts in the Player code.
This also makes Yamato jobs slightly faster since "Build Switch Support (ABV Subset)" only builds the Development Player.

Related Jira ticket: [PLATGRAPH-4039](https://jira.unity3d.com/browse/PLATGRAPH-4039)
Add note about Detail Mask. Clarify text in the manual as well (Secondary Maps (Detail Maps) and Detail Mask).

https://jira.unity3d.com/browse/DOCG-5996
Part 3 of minor fixes from feedback tickets 

Jira tickets:

- https://jira.unity3d.com/browse/DOCG-6197 Fix link to example script
- https://jira.unity3d.com/browse/DOCG-5620 Remove UI screenshots
- https://jira.unity3d.com/browse/DOCG-5818 Remove unneeded line
- https://jira.unity3d.com/browse/DOCG-6193 Add perceptual blending
- https://jira.unity3d.com/browse/DOCG-6180 Replace snippet to ensure link works
- https://jira.unity3d.com/browse/DOCG-4956 Fix link
- https://jira.unity3d.com/browse/DOCG-6087 Remove out-of-date culling UI screenshots
@UnityAljosha UnityAljosha requested review from a team as code owners November 28, 2024 13:02
@UnityAljosha UnityAljosha merged commit 0ad4df7 into master Nov 28, 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.