-
Notifications
You must be signed in to change notification settings - Fork 796
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 #8107
Internal/master #8107
Commits on Sep 19, 2024
-
Auto initialize lighting toggle.
JIRA: https://jira.unity3d.com/browse/GFXFEAT-381 This PR adds a toggle to the Lighting Window which, when enabled, will ensure that the scene has baked lighting data. If lighting data is missing, it will be baked upon opening the scene. We are primarily adding this due to requests from internal users and external asset developers/maintainers - they want to ship their sample scenes without baked lighting data, and have the bake happen on the users machine. They were using auto generate mode for this before, which no longer exists. This mode is much simpler than auto generate mode, in that it only kicks in in 1 scenario: 1. You are opening a scene. 2. The scene has no baked lighting data. 3. The scene has "Auto Initialize Lighting" enabled. If all the above are true, bake the scene. The new toggle is used as an upgrade path for auto generate mode. Scenes that were using auto before will have this flag enabled. By default it is disabled for new scenes. ![image](https://media.github.cds.internal.unity3d.com/user/2392/files/bfadec06-f973-45b1-a0cf-6e7370a7f40e)
Configuration menu - View commit details
-
Copy full SHA for 91cced6 - Browse repository at this point
Copy the full SHA 91cced6View commit details -
Update UPM to 8.9.0. This version of UPM contains a fix for the EPERM errors that can happen on Windows when resolving packages. It also makes concurrent operations made on the same project from different processes (e.g. from the Editor and from MSBuild) more robust. UPM source code diff: https://github.cds.internal.unity3d.com/unity/upm/compare/v8.7.0...v8.9.0 upm-core source code diff: https://github.cds.internal.unity3d.com/unity/upm-core/compare/v8.5.0...v9.0.0 Here's the changelog since UPM 8.8.0: **Changed** * [PAK-7761] The `[config:project:add-scoped-registry]` and `[config:project:update-scoped-registry]` IPC routes now take in an optional parameter `overrideBuiltIns` and `newOverrideBuiltIns`, respectively. * _This change has no impact on the Editor because the new property is not used._ * [PAK-5226] Improved concurrency handling to use a file-based mutex to synchronize concurrent operations from different UPM processes. **Fixed** * [PAK-7758] Re-enabled the in-memory metadata cache in CLI mode to fix the performance regression introduced by [PAK-7740] in 8.8.0. * _This regression never affected the Editor because UPM 8.8.0 was not deployed to it._ * [PAK-5250] Fixed an `EPERM` error that could occur on Windows during resolve by making resolved paths unique. * _The [EPERM bug](https://jira.unity3d.com/browse/PAK-5250) (user pain 24) was a regression introduced in UPM 8.0.0 which was deployed to trunk in version 2023.3.0a14._ * [PAK-7740] Fixed an issue where the `resolve` command appeared to hang for up to 30 seconds after printing its output to the console. * _The Editor was not affected by this issue because it only occurs when the `resolve` command is invoked from the command-line. The Editor uses UPM via IPC rather than CLI._
Configuration menu - View commit details
-
Copy full SHA for e5ff769 - Browse repository at this point
Copy the full SHA e5ff769View commit details -
Jira: UUM-82338 Steps to reproduce: 1. Create a simple VFX Graph and open it 2. Hover the mouse on the Initialize Particle context's Bounds port Actual results: No tooltip is shown Expected results: The following tooltip should be shown: >The culling bounds of this system. ![](https://jira.unity3d.com/secure/attachment/1539372/1539372_4B2LioyD1c.png)
Configuration menu - View commit details
-
Copy full SHA for cc4739e - Browse repository at this point
Copy the full SHA cc4739eView commit details -
Enable Clearing RG Globals By Default
This change removes the ifdef guards around the render graph global texture clearing logic which effectively enables it run by default.
Configuration menu - View commit details
-
Copy full SHA for 80dfc99 - Browse repository at this point
Copy the full SHA 80dfc99View commit details
Commits on Sep 20, 2024
-
UUM-29958 Wrong Blit Texture Source when using SetGlobalKeyword
JIRA: [UUM-68986](https://jira.unity3d.com/browse/UUM-68986) Blit uses wrong texture source when using blit that sets texture using SetGlobalTexture right after a blit that sets texture using property block. Based on the comments on the task, it looks like the expected behavior was that property blocks are cleared after each blit, but that wasn't happening. I added a clear after each blit that uses property block, so now they are indeed cleared after each blit and don't interfere with blits that use SetGlobalTexture
Configuration menu - View commit details
-
Copy full SHA for f65eaea - Browse repository at this point
Copy the full SHA f65eaeaView commit details -
[VFX][Fix] Refresh of in-graph profiling info
Some debug fields like the capacity in the Particle System Info were not updated unless the graph was saved. This PR is making the `VFXAnchoredProfilerUI ` implement the `IControlledElement ` to subscribe to the `OnControllerChanged` callback.
Configuration menu - View commit details
-
Copy full SHA for a811713 - Browse repository at this point
Copy the full SHA a811713View commit details -
The purpose of this PR is to fix memory leaks in verified packages tests on DX12: https://jira.unity3d.com/browse/UUM-77895. There were simply unreleased compute buffers, because some objects were not released.
Configuration menu - View commit details
-
Copy full SHA for 4098025 - Browse repository at this point
Copy the full SHA 4098025View commit details -
HDRP: Fix light range getting overriden on multi-select
Fixes an issue in HDRP where multiple selected lights with different ranges would have their range overridden if another property was changed.
Mikkel Simonsen authored and Evergreen committedSep 20, 2024 Configuration menu - View commit details
-
Copy full SHA for 86cc90b - Browse repository at this point
Copy the full SHA 86cc90bView commit details -
Update HDRP to using the new TextureDesc field format instead of colo…
…rFormat and depthBufferBits Following the fixes of the TextureDesc https://github.cds.internal.unity3d.com/unity/unity/pull/53589 Now updating HDRP to using the new TextureDesc format field instead of colorFormat and depthBufferBits. To simplify reviewing, these changes were not included in the previous PR. But without them, the previous PR could potentially introduce a CPU main thread performance regression. The old fields are now properties that call a function to native land so these are more expensive than before. However, almost all references to these properties are the setting of the colorFormat, which is just a field set, so having little impact on performance. Most changes replace setting desc.colorFormat with desc.format, which is identical in behavior. The few changes to the depthStencilFormat require more attention to review. (see commit https://github.cds.internal.unity3d.com/unity/unity/pull/54368/commits/3bd4c5332bdf7d719bbf8bfeb5f9b34d92a07cc8). These could introduce an unwanted change of format. Also, by using the new desc format field, subtle bugs are avoided.
Configuration menu - View commit details
-
Copy full SHA for ff5e51d - Browse repository at this point
Copy the full SHA ff5e51dView commit details -
By default, when people use SRPs instead of built-in, there is very little difference when creating a new scene giving them the impression like the rendering is more or less the same. The idea is to give some love to those scene template so that there is something more satisfying by default when creating a new scene using a template. Since we already have a bunch of common x-pipeline assets in the common dependency folder of samples in the packages (Core, HDRP, URP), we can just easily import them and use them to create a super simple scene setup reflecting better the different capabilities of the pipelines. Before : ![image](https://media.github.cds.internal.unity3d.com/user/1764/files/fd97878b-d9b4-402a-a482-ca1bf3d84d24) After : ![image](https://media.github.cds.internal.unity3d.com/user/1764/files/bf15d481-5fe6-41b9-b662-14e43aa58854) **Before**: | URP | HDRP | | ------------- | ------------- | | **Basic** ![_20240807_172410_B4 - URP - Basic](https://media.github.cds.internal.unity3d.com/user/1764/files/9d8cdc8a-aa82-4d19-8e96-c051c02b59e3) | **Indoors** ![_20240807_1722327_B4 - HDRP - Indoors](https://media.github.cds.internal.unity3d.com/user/1764/files/8e61abe1-92be-4b78-9236-c0428100927f) | | **Standard** ![_20240807_1724421_B4 - URP - Standard](https://media.github.cds.internal.unity3d.com/user/1764/files/fd520097-e129-4c6b-a18c-1719ce5a5740) | **Outdoors** ![_20240807_1722535_B4 - HDRP - Outdoors](https://media.github.cds.internal.unity3d.com/user/1764/files/0a6c4045-0b82-4d43-861d-dc8eb1464d91) | **After**: | URP | HDRP | | ------------- | ------------- | | **Basic** ![Basic_20240807_1701336_URP - Basic](https://media.github.cds.internal.unity3d.com/user/1764/files/b08058cf-2244-4e23-96bd-eb680de9b179) | **Indoors** ![_20240819_1545720_HDRP - Indoors 2](https://media.github.cds.internal.unity3d.com/user/1764/files/94ba4992-8769-41ab-bf39-c38e464f8c56) | | **Standard** ![_20240819_1545512_URP - Standard 2](https://media.github.cds.internal.unity3d.com/user/1764/files/4438a6aa-646e-46e5-b145-237b26f464f0) | **Outdoors** ![_20240819_154523_HDRP - Outdoors 2](https://media.github.cds.internal.unity3d.com/user/1764/files/4357134e-fccb-4522-bfd4-48ac53583ccf) | What I did is just added materials / prefabs / models of the unity balls inside the common core samples folder so there's very little size change, the rest was already there. In URP, the basic scene has been untouched. The standard test tries to match what happens in HDRP, with a little fog and the skybox baked (to have some ambient lighting at opening). Also, since realtime reflection probes are disabled by default in a new URP asset, I decided to put the reflection probe as baked and bake it into the levels data. Otherwise, you get a black Unity ball at opening which is not great :)
Configuration menu - View commit details
-
Copy full SHA for 3f38e72 - Browse repository at this point
Copy the full SHA 3f38e72View commit details -
When calculating spotlight screen tile ranges for forward plus, cull …
…any ranges that do not intersect the screen. This PR fixes an issue in URP **Forward Plus** lighting where extra tiles were being incorrectly masked to be lit by spot lights that did not in fact affect them. **Forward Plus** tiling job calculates ranges of screen space tiles per horizontal tile line. When both the start and the end points of the line were outside of the screen area it was incorrectly clamping them to screen boundary thus resulting in tiles along the edges of the screen to be classified as lit by that light. This change checks for this case and discards any tile ranges that do not overlap the screen extents. Before fix: ![image](https://media.github.cds.internal.unity3d.com/user/760/files/c186cff3-4ec8-42e7-a912-fd477465d812) After fix: ![image](https://media.github.cds.internal.unity3d.com/user/760/files/6e34fcc2-c68b-4b55-95c9-364bfdb26bb7)
Configuration menu - View commit details
-
Copy full SHA for 2492ba1 - Browse repository at this point
Copy the full SHA 2492ba1View commit details
Commits on Sep 21, 2024
-
[VFX][Fix] Add debug display code in unlit shader passes
This PR adds the necessary snippet in the unlit forward shader template in order to output the correct debug color.
Configuration menu - View commit details
-
Copy full SHA for 3b4b7ab - Browse repository at this point
Copy the full SHA 3b4b7abView commit details -
Graphics/SRP/RPF - [UUM-68284] - Fix URP RG camera stacking when rend…
…ering to backbuffer on iOS/macOS For bandwidth optimisation purpose, when using Render Graph, URP3D and URP2D disable multisample when rendering resolved post processed result to the system backbuffer. To do so, they use the Screen API introduced in #15734. Unfortunately, this API has a one-frame delay on iOS and macOS platforms, resulting in the following confusing situation: ``` int a = Screen.msaaSamples; // a == 4 Screen.SetMSAASamples(1); assert(a == Screen.msaaSamples); // a still equals 4 on ios and osx (!), 1 otherwise // next frame assert(a != Screen.msaaSamples); // a now equals 1 ``` To counter this corner case, URP3D/URP2D implementations both introduced some specific logic respectively in `CreateRenderGraphCameraRenderTargets`/`GetImportResourceSummary`, but it doesn't work with camera stacking nor multiple base cameras where these functions are called multiple times for each frame, resulting in the infamous error message: _Postprocessing Final Blit Pass/Screen Space UlToolkit/uGUI Pass - Overlay: Attachment 0 was created with 4 samples but 1 samples were requested._ Current PR proposes to fix the situation by introducing: - two static internal properties `tryOptimizeScreenMSAASamples`/`startFrameScreenMSAASamples` in UniversalRenderPipeline class to: 1. detect whether we can actually do this MSAA optimization, we decide to disable it with multiple base cameras as the optimization can be incorrect if one camera targets directly the backbuffer while the other one targets an intermediate texture. 2. save the Screen MSAA samples value at the start of the frame, before looping through various cameras and renderers as iOS/macOS have the problematic one-frame delay. - a new function `AdjustAndGetScreenMSAASamples()` at `ScriptableRenderer` level to: 1. optimize Screen MSAA samples and handle iOS/macOS corner case 3. unify specific logics between URP3D and URP2D, removing small already existing divergences between the two
Configuration menu - View commit details
-
Copy full SHA for 665d06f - Browse repository at this point
Copy the full SHA 665d06fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1a50dfa - Browse repository at this point
Copy the full SHA 1a50dfaView commit details
Commits on Sep 23, 2024
-
Fix distortion shadergraph regression
Fix distortion in Unlit ShaderGraphs
Configuration menu - View commit details
-
Copy full SHA for 810a279 - Browse repository at this point
Copy the full SHA 810a279View commit details -
[Unity 6][URP] Fixing an issue with Shadow pancaking code and improvi…
…ng testing (UUM-82417) * Fixes UUM-82417 * Makes sure URP shaders and ShaderGraph use the same code for pancaking * Makes sure pancaking is only used with Directional lights * Removes previous test scenes for this area and creates new ones * Improved a test script in a URP Project
Configuration menu - View commit details
-
Copy full SHA for 89f4f2e - Browse repository at this point
Copy the full SHA 89f4f2eView commit details -
[ShaderGraph] Remove exception from shader graph asset importer
Shader Graph importer can throw exceptions during asset import, which result in an asset state that is more difficult for a user to correct. I'm suppressing exceptions around precision mismatch between node dependencies, as in most cases this situation is neither reachable nor user actionable nor is the behavior actually erroneous.
Esmeralda Salamone authored and Evergreen committedSep 23, 2024 Configuration menu - View commit details
-
Copy full SHA for e7f2093 - Browse repository at this point
Copy the full SHA e7f2093View commit details -
Fixed potential memory leak when cleaning up
ProbeReferenceVolume
This PR fixes an issue that there is a case where some of the allocated NativeArrays do not get cleaned up properly when cleaning up a `ProbeRefenceVolume`. This can happen when recompiling scripts with APV running. This PR also includes a minor fix for removing a GC allocation when sorting index defragmenting. Jira: UUM-82505
Configuration menu - View commit details
-
Copy full SHA for ca3e368 - Browse repository at this point
Copy the full SHA ca3e368View commit details -
Fix seams across cell boundaries in APV
Jira link: https://jira.unity3d.com/browse/UUM-78721 Before this change, APV had a mechanism to fix seams between multiple subdivision levels at bake time (introduced in this PR: https://github.cds.internal.unity3d.com/unity/unity/pull/46676). However, this did not work across different cells, which is addressed in this PR. Before change <img width="313" alt="Screenshot 2024-09-17 at 2 31 24 PM" src="https://media.github.cds.internal.unity3d.com/user/3903/files/34c419a2-ef10-4422-b8ef-63693a63f730"> After change <img width="313" alt="Screenshot 2024-09-17 at 2 32 11 PM" src="https://media.github.cds.internal.unity3d.com/user/3903/files/630680e3-c3ef-46f0-82a6-f760375846eb">
Configuration menu - View commit details
-
Copy full SHA for 2c037b8 - Browse repository at this point
Copy the full SHA 2c037b8View commit details
Commits on Sep 24, 2024
-
[HDRP] Fix for DOF artifact when resolution changes by DRS
This PR fixes the artifact of non-physical DOF if it's used with TAA and dynamic resolution; The artifacts appear for a frame after the screen resolution changes.
Masayoshi Miyamoto authored and Evergreen committedSep 24, 2024 Configuration menu - View commit details
-
Copy full SHA for 12a5caa - Browse repository at this point
Copy the full SHA 12a5caaView commit details
Commits on Sep 25, 2024
-
Fixes UUM-75818. A race condition existed where Shader Graph assets where being loaded before the required shader code files that were referenced by those assets. I fixed this by in-lining the required code in the custom code nodes of the Shader Graph assets instead of referencing external code files.
Configuration menu - View commit details
-
Copy full SHA for 2327224 - Browse repository at this point
Copy the full SHA 2327224View commit details -
[HDRP] Fix gameview focus issue
Following this recent PR : https://github.cds.internal.unity3d.com/unity/unity/pull/51061 A bad regression happened making the gameview always have focus blocking the user. The fix is now instead of looping through all the gameview (i.e visible cameras) it loops through all the cameras.
Configuration menu - View commit details
-
Copy full SHA for 7e9dd9e - Browse repository at this point
Copy the full SHA 7e9dd9eView commit details -
Update URP sample codes to use RenderGraph helper functions
Only URP package sample scene script changes. No engine code changes. Updated sample codes to use the new RenderGraph helper functions in [PackageSample](https://github.cds.internal.unity3d.com/unity/unity/tree/graphics/urp/rg-sample-usehelper/Packages/com.unity.render-pipelines.universal/Samples%7E/URPPackageSamples/RendererFeatures). Doc changes are done in separate PR: https://github.cds.internal.unity3d.com/unity/unity/pull/54526
Configuration menu - View commit details
-
Copy full SHA for 895e99a - Browse repository at this point
Copy the full SHA 895e99aView commit details -
[WebGPU] URP Lighting and Post Processing Tests on Yamato
https://jira.unity3d.com/browse/PLATGRAPH-3794 - URP Post Processing JIRA Task https://jira.unity3d.com/browse/PLATGRAPH-3793 - URP Lighting JIRA Task The purpose of this PR is to introduce Yamato jobs for webgpu for the URP Lighting and URP Post Processing test suites. With this change, we will be able to run the jobs off of trunk, and eventually get them into QV once we have 10 passing green tests. Currently, there are about ~3 tests left for post processing and 1 for lighting. These will be gated behind test filters for now, as the goal of this PR is to get the Yamato jobs running. They will be tracked in JIRA and removed from the test filter once fixed. Previous PR for the URP Foundation tests here: #53971
Configuration menu - View commit details
-
Copy full SHA for b844297 - Browse repository at this point
Copy the full SHA b844297View commit details -
[UUM-81533] Fixed use of potentially uninitialized variable warning i…
…n Core2D As reported in JIRA, shader warnings "Sprite-Unlit-Default" are thrown after building 2D Platformer Microgame Template. We can avoid the uninitialized variable warning by relocating the `return` statement outside of the `if` branch.
Configuration menu - View commit details
-
Copy full SHA for ee3453b - Browse repository at this point
Copy the full SHA ee3453bView commit details -
Small documentation fixes September 2024
Small documentation fixes. Jira tickets: https://jira.unity3d.com/browse/DOCG-4491 https://jira.unity3d.com/browse/DOCG-4778 https://jira.unity3d.com/browse/DOCG-5403 https://jira.unity3d.com/browse/DOCG-5630 https://jira.unity3d.com/browse/DOCG-5672 https://jira.unity3d.com/browse/DOCG-5969 https://jira.unity3d.com/browse/DOCG-6082
Configuration menu - View commit details
-
Copy full SHA for c468b68 - Browse repository at this point
Copy the full SHA c468b68View commit details
Commits on Sep 26, 2024
-
Enabled foveated rendering for UberPost pass(when it is the last pass…
…) and FinalPostBlit pass. Jira: https://jira.unity3d.com/browse/GFXFOUND-753 This PR optimizes UberPass and FinalPostBlit pass performance for some XR platforms. The default foveation behavior for blit pass is to disable foveation. These two passes are handled as the special case for now. Q&A - Do you have a list of devices that this feature will be enable and which is not? This feature will be enable on XR devices that support Unity uniform foveated rendering. For example, Quest2, Quest3, AndroidXR. - What manual test have you done? I haven't done any runtime testing yet on device. I tested on PC with mock to ensure no compiling errors. - Which project you use to test? I used a simple cube scene project from the URP foundation test. - Is there any automated test to test this feature already? Foveated rendering feature doesn't have automation coverage.
Configuration menu - View commit details
-
Copy full SHA for 08da788 - Browse repository at this point
Copy the full SHA 08da788View commit details -
Add a depth buffer for offscreen UI pass
Fix UI overflow and stencil based effects not working in HDR
Configuration menu - View commit details
-
Copy full SHA for 46a9b08 - Browse repository at this point
Copy the full SHA 46a9b08View commit details -
Fixed some shader warnings when building a player.
Configuration menu - View commit details
-
Copy full SHA for d651070 - Browse repository at this point
Copy the full SHA d651070View commit details
Commits on Sep 27, 2024
-
Post-migration step: remove the migrated URP docs files.
Post-migration step: remove the migrated URP docs files.
Configuration menu - View commit details
-
Copy full SHA for e1589f3 - Browse repository at this point
Copy the full SHA e1589f3View commit details -
Expose Solid Angle culling mode in Ray Tracing Settings UI.
Solid Angle culling mode low level support was merged to trunk https://github.cds.internal.unity3d.com/unity/unity/pull/53762 This PR exposed the mode to Ray Tracing Settings volume override in HDRP. ![Unity_kTeSd6hhhb](https://media.github.cds.internal.unity3d.com/user/1325/files/3aaa3053-9005-4a87-8305-d3c68d529931) Nice presentation that I made about culling modes: https://docs.google.com/presentation/d/1XegfK-9gZ0lW8OVJzQ8vXISK5hS08HxfkFx4oMHY5YU/edit?usp=sharing
Configuration menu - View commit details
-
Copy full SHA for bcf5a19 - Browse repository at this point
Copy the full SHA bcf5a19View commit details -
[VFX] Better integration with HDRP Water Sample
This PR improves the HDRP Sample Water, it removes: - WaterSurfaceBinder.cs: Use the VFXPropertyBinder for settings global texture is hacky - EnableVFXAfter.cs: It was a simple hack to mitigate console error The new approach avoids: - Multiple calls and possible diverging SetGlobalTextures (there is a warning in component inspector in this case) - Displaying a VFX before SetGlobalTextures (it disable component meanwhile) Replace with an independent behavior: `WaterSurfaceBindVFX.cs`: - Supposed to be allocated once per frame - In charge of enabling children VFX once the SetGlobalTextures is applied - Custom Inspector to help debug issue (like the water system being disabled) Improve SampleWaterSurface.cs integration - Add error feedback in case of disabled water system and/or missing SetGlobalBuffer (see functional testing status)
Configuration menu - View commit details
-
Copy full SHA for 17a09d5 - Browse repository at this point
Copy the full SHA 17a09d5View commit details -
[VFX/Particle] DrawMeshNow artifact on M1
Fix Graphics Corruption on Silicon Device which can generates artifact in every single Unity rendering. ![image](https://media.github.cds.internal.unity3d.com/user/42/files/3d4b4fcb-aa19-48c7-bfdb-910439677f6f) The problem was due to an unexpected call from `Graphics.DrawMeshNow` while *not* being within a Repaint event (see also this [OnSceneGUI documentation](https://docs.unity3d.com/ScriptReference/Editor.OnSceneGUI.html)) - Issue with while rendering mesh in wireframe with mesh module in ParticleSystem, initial repro 🔽 https://media.github.cds.internal.unity3d.com/user/42/files/45a4c51e-b236-4c3a-907a-5610c5e7b55b - Found a repro of the wrong DrawHull in HDRP (this is a theoretical repro, I tested on windows) 🔽 https://media.github.cds.internal.unity3d.com/user/42/files/9057b6d4-c8b4-481e-9421-783e16cbbb6f - Checked other usage of DrawMeshNow in VFX - With DrawCurve ✅ ![image](https://media.github.cds.internal.unity3d.com/user/42/files/e739a750-9615-463b-81c2-7fa40a96396c) - With Draw Context Border ✅ ![image](https://media.github.cds.internal.unity3d.com/user/42/files/503aca84-4e6f-4c28-bc8d-b08ec66899ff) - With Gizmo rendering `Graphics.DrawMeshNow`, we can trust the `EventType.Repaint` https://github.cds.internal.unity3d.com/unity/unity/blob/eaea05a25d195f7c6e58128434cc9a5130ef3b91/Packages/com.unity.visualeffectgraph/Editor/Gizmo/VFXGizmo.cs#L88
Configuration menu - View commit details
-
Copy full SHA for c17e841 - Browse repository at this point
Copy the full SHA c17e841View commit details -
Shader Warnings about GPU Driven are thrown after switching platform …
…to Android/Web when using Universal 3D Template The GPU Driven feature officially doesn't support low graphics APIs, so it has been fixed to exclude Web and OpenGLES API for the problematic shaders. Before fixing, there were several warnings happened: ``` Shader warning in 'InstanceDataBufferCopyKernels': Buffer count exceeding default GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS. Shader might not work on all hw. Consider combining separate buffers into one containing struct elements. at kernel MainCopyInstances (on gles3) Shader warning in 'InstanceOcclusionCullingKernels': Buffer count exceeding default GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS. Shader might not work on all hw. Consider combining separate buffers into one containing struct elements. at kernel CullInstances (on gles3) Shader warning in 'InstanceDataBufferUploadKernels': Buffer count exceeding default GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS. Shader might not work on all hw. Consider combining separate buffers into one containing struct elements. at kernel MainUploadScatterInstances (on gles3) ```
Configuration menu - View commit details
-
Copy full SHA for d15b717 - Browse repository at this point
Copy the full SHA d15b717View commit details -
This change adds resource stripping logic to the STP RuntimeResources class. This prevents projects that don't use STP from including it in the build. This change allows the empty URP template project to build successfully when targeting Windows from a Mac since STP's resources are now stripped and won't cause build failures. However, it doesn't actually allow STP to build for Windows on a Mac successfully. In order to fix that, we'll need native changes that strip out unsupported variants. That change will be handled by a different PR since it's not required to fix the HUP ticket associated with the template project.
Configuration menu - View commit details
-
Copy full SHA for 892ec4f - Browse repository at this point
Copy the full SHA 892ec4fView commit details -
[HDRP] [UUM-81586] Fixed uninitalized/unused shader warnings
Jira: [UUM-81586](https://jira.unity3d.com/browse/UUM-81586) As reported in JIRA, some shader warnings are thrown after building HDRP 3d template. This PR fixes the following warnings. ``` 1. Shader warning in 'HDRP/Lit': parameter 'pdf' is uninitialized when used here [-Wparameter-usage] at Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/PathTracing/Shaders/PathTracingBSDF.hlsl(74) 2. Shader warning in 'HDRP/Lit': expression result unused [-Wunused-value] (for raytracing shaders) at Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/VaryingMesh.hlsl(134) 3. Shader warning in 'HDRP/Unlit': expression result unused [-Wunused-value] (for raytracing shaders) at Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/VaryingMesh.hlsl(134) 4. Shader warning in 'Hidden/Core/ProbeVolumeOffsetDebug': use of potentially uninitialized variable (o) at Packages/com.unity.render-pipelines.core/Runtime/Debug/ProbeVolumeDebugBase.hlsl(272) ```
Configuration menu - View commit details
-
Copy full SHA for 9951bc2 - Browse repository at this point
Copy the full SHA 9951bc2View commit details -
[HDRP] remove double ensure frame settings for volumetric clouds
Following this recent PR https://github.cds.internal.unity3d.com/unity/unity/pull/51061 The ensure frame settings thingy has been added twice. This PR remove the first one. <img width="396" alt="Double" src="https://media.github.cds.internal.unity3d.com/user/1764/files/5a420507-db33-4c97-aef3-154c7fbd0f55">
Configuration menu - View commit details
-
Copy full SHA for 751d678 - Browse repository at this point
Copy the full SHA 751d678View commit details -
add fourth composition option for HQ lines: before color pyramid but …
Add option to compose hair before color pyramid but after clouds
Configuration menu - View commit details
-
Copy full SHA for 2b712f6 - Browse repository at this point
Copy the full SHA 2b712f6View commit details -
Revert NRP ReadOnlyStencil Flag Changes
This reverts commit 215ec324aec975b5a7f72aec432165ea586d8f8f. The changes were causing crashes on the DX12 backend due to the stencil flag being used on a DSV associated with a format with no stencil plane. This was leading to D3D12 runtime errors which cause device removal which results in a crash. We should attempt to set this properly based on the format of the current pass depth attachment, but it requires some non-trivial changes to make the data available. In the meantime, we're reverting the original change to avoid the crash.
Configuration menu - View commit details
-
Copy full SHA for 6cfbfeb - Browse repository at this point
Copy the full SHA 6cfbfebView commit details -
Cause: The WorldLightManager.CollectWorldLights() function collects light information for the scene every frame so that it can be processed for render context. During this process, it uses the FindObjectsByType<HDAdditionalReflectionData> function to update the reflection probe data. This is a large part of the load. Solution: I decided to statically declare a HashSet on the HDAdditionalReflectionData itself to manage it. Adding and removing from that HashSet was done by redefining the OnEnable and OnDisable functions to work. The WorldLightManager just needs to use that HashSet data structure on every frame update.
Configuration menu - View commit details
-
Copy full SHA for d1dc056 - Browse repository at this point
Copy the full SHA d1dc056View commit details -
update the rendergraph samples to the latest APIs and best practices
URP RenderGraph [Jira](https://jira.unity3d.com/browse/URP-1297). Update the rendergraph samples to the latest APIs and best practices.
Configuration menu - View commit details
-
Copy full SHA for a61f7b2 - Browse repository at this point
Copy the full SHA a61f7b2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 448044d - Browse repository at this point
Copy the full SHA 448044dView commit details
Commits on Sep 28, 2024
-
Render Graph - Fix failing tests (using camera.Render and RenderGraph)
`Bug`: https://jira.unity3d.com/browse/UUM-71240 When using `camera.Render()` with the `Test Runner` and URP + RenderGraph, we retrieve the `Color BackBuffer` here: ![image](https://media.github.cds.internal.unity3d.com/user/1911/files/18e269d4-ddef-48a3-984b-dcc94ceb3bd7) It's fine when rendering in the `Scene View` and `GameView`, since both views set the right `Backbuffers` before retrieving them for the final rendering. In the context of the `Test Runner`, since it's not a real context or a real PlayerLoop, the `camera.Render` is executed at 'a random moment', so it can be while rendering the Console view, the Hierarchy view, etc. So we end up retrieving the wrong current BackBuffer (for the wrong editor view), which explains the dimensions mismatch. The fix is simply to stop using `camera.Render`, since it's a nasty and complex bug to fix, so we decided to "hack it" for now. For the GPUDriven tests, we have to override `ProcessRenderRequests` as well to continue testing the `Culling` code in the way it was intended. Using `SubmitCameraRenderRequest` fixes the problem since we don't render in the BackBuffer anymore, but in a TargetTexture. (Screenshot for my future me, in case I cause a regression. Here we can see all the view being rendered. The one with `IsGameView: 1` is the GameView. The mismatch bug happens when we render the scene (`camera.Render`) right after a non-GameView window (`isGameView: 0`) ) ![image](https://media.github.cds.internal.unity3d.com/user/1911/files/05c877af-5279-484d-a494-f628a277e717)
Configuration menu - View commit details
-
Copy full SHA for 4dcfc3e - Browse repository at this point
Copy the full SHA 4dcfc3eView commit details -
[URP] Fix lighting debug views when using APV with Shadowmask
There was a compile error when using the lighting debug views when APV and Shadowmask are active https://jira.unity3d.com/browse/UUM-82976
Configuration menu - View commit details
-
Copy full SHA for bdf2fab - Browse repository at this point
Copy the full SHA bdf2fabView commit details -
Removed RGBM implementation from URP Bloom
Removed RGBM implementation from URP Bloom as it's not used currently while costs some shader variants and branching. To reintroduce its usage we would have to make changes that would make RGBM Bloom pass twice slower than current SDR Bloom pass. The RGBM mode was targeting low-end devices in the first place, where such performance is not acceptable.
Configuration menu - View commit details
-
Copy full SHA for 7a6bb71 - Browse repository at this point
Copy the full SHA 7a6bb71View commit details
Commits on Sep 30, 2024
-
Disabled XR test instabilities
This PR disables instabilities in the XR automation
Configuration menu - View commit details
-
Copy full SHA for 2196311 - Browse repository at this point
Copy the full SHA 2196311View commit details -
Add option to omit depth & movec write based on hair composite alpha
*[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).]* Add option to specify an alpha threshold when to write depth and movecs when compositing hq lines. This allows HQ Lines to not write depth when the alpha is deemed too low, mitigating problems from algorithms relying on screen space depth (like DOF).
Configuration menu - View commit details
-
Copy full SHA for 2a81e2c - Browse repository at this point
Copy the full SHA 2a81e2cView commit details -
Docs/graphics/docg 5742 water surface deformation buffer
Document Water functions: `GetCausticsBuffer()` `GetDeformationBuffer()` `GetFoamBuffer()`
Configuration menu - View commit details
-
Copy full SHA for 89e8162 - Browse repository at this point
Copy the full SHA 89e8162View commit details -
Fix several issues with cloud shadow clipping / volumetric cloud tracing
Fix volumetric cloud shadow clipping issues when the camera is far from geometry. Fix volumetric cloud clipping when the camera is aligned with the sun direction, FoV is low and sun is at grazing angle.
Configuration menu - View commit details
-
Copy full SHA for 222bcd7 - Browse repository at this point
Copy the full SHA 222bcd7View commit details -
Code cleanup in RTHandle allocators and small fixes
This PR - removes redundant code, all allocators now use exactly the same RenderTexture creation path, leading to more robust and maintainable code - uses the RenderTextureDescriptor constructor to create the RenderTexture as a micro optimization. This avoids 7 calls to C++ native land per RT allocation - fixes a few small bugs and inconsistencies between the allocators now that they all use the same code path - removes use of RT.format = shadowMap. Only uses explicit fields (graphicsFormat, depthStencilFormat, shadowSamplingMode), no "magic" fields (format=RenderTextureFormat, depthBufferBits)
Configuration menu - View commit details
-
Copy full SHA for f77a520 - Browse repository at this point
Copy the full SHA f77a520View commit details -
Allow opening RGV but show a better message.
Remove the disabled menu item that was really confusing for users. This had to do with the fact that in URP render graph is not available if there is the compatibility mode enabled. Removing that code and adding a better message. I've not added a new API to know why is not available as is two much work, the user should see the docs and try to enable the Render Graph support by their own. ![imagen](https://media.github.cds.internal.unity3d.com/user/3279/files/4f4f0696-60e5-46c7-9ada-02fde4c1df6e)
Configuration menu - View commit details
-
Copy full SHA for df3adf7 - Browse repository at this point
Copy the full SHA df3adf7View commit details
Commits on Oct 2, 2024
-
Disable GPU Occlusion on Qualcomm GPUs in URP
This change adds logic to URP's GPU occlusion culling code to prevent it from being enabled when running on Qualcomm GPUs. This should allow us to avoid the suspected driver issues for now while we get the real solution figured out.
Configuration menu - View commit details
-
Copy full SHA for 76c1ea1 - Browse repository at this point
Copy the full SHA 76c1ea1View commit details -
Fix: Animated properties not updated in material UI
Fixes: [UUM-74040](https://jira.unity3d.com/browse/UUM-74040) If a material has a custom GUI powered by the core package's `MaterialEditorExtension.cs`, and if some properties are animated in the timeline, the UI doesn't update to reflect the animation. This change fixes this issue.
Configuration menu - View commit details
-
Copy full SHA for bc639f0 - Browse repository at this point
Copy the full SHA bc639f0View commit details -
Fix legacy depthBufferBits usage in URP 2D and 3D renderer
Fix https://jira.unity3d.com/browse/UUM-83481 Adopt the explicit depth stencil format property instead of setting depthBufferBits on RenderTextureDescriptor in URP 2D and 3D This fixes a number of hard to find bugs. The source of these bugs: renderTextureDesc1.depthBufferBits = renderTextureDesc2.depthBufferBits does not always result in renderTextureDesc1.depthStencilFormat== renderTextureDesc2.depthStencilFormat being true. depthBufferBits = 32 -> depending on platform, depthStencilFormat == D32_S8 depthStencilFormat = D32 -> depthBufferBits == 32 etc. Also, renderTextureDesc1.depthBufferBits will call a native c++ method, so is more expensive than a field setter of the depthStencilFormat. So this is also a micro optimization.
Configuration menu - View commit details
-
Copy full SHA for a6b3351 - Browse repository at this point
Copy the full SHA a6b3351View commit details -
[URP] [Fantasy Kingdom Demo] Fix STP TAA Frame Index Mismatch
This change updates the STP frame index calculation logic to use the same logic as the regular TAA code path. This ensures we always add the jitter frame count offset value and don't end up with inconsistent jitter calculations in different parts of the code. In the previous code, we weren't actually including the jitter frame count offset in the frame index value used by STP's shader constant logic. This was causing the jitter offsets in the constants the jitter offsets used by the projection matrix to diverge in some cases which results in severely degraded visual quality. Fantasy Kingdom Demo: Before: ![image](https://media.github.cds.internal.unity3d.com/user/4435/files/176beb23-cccc-460f-b4d2-bb089700fbbf) After: ![image](https://media.github.cds.internal.unity3d.com/user/4435/files/1b4e69bd-f820-4107-a8fb-dc3b450b9693) Aside from the changes that affect STP, this PR also contains one additional commit (0cbd31e681c00095cf04c56b7f45b5a2e574979c) that corrects a similar issue in the very high quality TAA filter weight logic.
Configuration menu - View commit details
-
Copy full SHA for efe9c19 - Browse repository at this point
Copy the full SHA efe9c19View commit details -
Fix NullReferenceException thrown when updating a legacy node for sec…
JIRA: https://jira.unity3d.com/browse/UUM-76255 Fixed an issue where a NullReferenceException was thrown when updating, undoing, and updating a legacy node. Problem * When Undoing, a new SGBlackboardField instance was created, but SGBlackboardField.SupplyDataToPropertyDrawer() was not called because the user's click and call to InspectorView.Update did not occur. As a result, m_InspectorUpdateDelegate is null, and subsequent calls to m_InspectorUpdateDelegte throw a NullReferenceException when onAfterVersionChange is called with node Update. Solution * perform initialization of all Inspectables (including SGBlackboardField) when Undo/Redo is performed, so that m_InspectorUpdateDelegate is set In addition to the above issue, updating a node placed in the graph immediately upon opening the graph can also cause a NullReferenceException to be thrown, as the onAfterVersionChange of an SGBlackboardField that was never clicked is called and m_InspectorUpdateDelegate is called. I fixed it to avoid throwing a NullReferenceException with ?.Invoke(); when calling m_InspectorUpdateDelegate. I don't think there should be any other issues because the inspector update is done in the onAfterVersionChange callback of the newly added PropertyNodeView.
Configuration menu - View commit details
-
Copy full SHA for 64c89c8 - Browse repository at this point
Copy the full SHA 64c89c8View commit details -
Add AssetBundle/Addressable documentation for APV
Add documentation for making APV compatible with AssetBundles and Addressables in URP and HDRP. Jira ticket: https://jira.unity3d.com/browse/DOCG-6049
Configuration menu - View commit details
-
Copy full SHA for 6fbc41d - Browse repository at this point
Copy the full SHA 6fbc41dView commit details -
Docs/graphics/docg 5743 physically based sky custom material
List new physically based sky custom material environment samples.
Configuration menu - View commit details
-
Copy full SHA for aae5c11 - Browse repository at this point
Copy the full SHA aae5c11View commit details -
docg-5789-lens-flare-environment-occlusion
Document Fix fog scattering in HDRP.
Configuration menu - View commit details
-
Copy full SHA for f2d9509 - Browse repository at this point
Copy the full SHA f2d9509View commit details
Commits on Oct 3, 2024
-
[HDRP] Add information for syncing multiple water surfaces in documen…
…tation Following a customer request for that, we realized it wasn't as straightforward to sync multiple water surface on the same scene. This addresses how to do it in the documentation. ![waves](https://media.github.cds.internal.unity3d.com/user/1764/files/7552fc7e-204e-4f49-864f-e8a83c2f66e6)
Configuration menu - View commit details
-
Copy full SHA for fe6e57b - Browse repository at this point
Copy the full SHA fe6e57bView commit details -
GFXFOUND-567 Unifiy RenderGraph Compiler with OpenGLES and OpenGL Core
JIRA: https://jira.unity3d.com/browse/GFXFOUND-567 and https://jira.unity3d.com/browse/GFXFOUND-566 The renderGraph currently uses HDRP's implementation with the OpenGLES and OpenGLCore graphics APIs. This PR makes it possible to use the newer renderGraph compiler The main error with OpenGL + rendergraph was coming from MSAA missing a resolve texture. The error was that the check for resolve texture was done as if there was no autoresolve so it threw when it didn't find the resolve texture. In OpenGL, autoresolve is handled at the graphics API level so it's normal that there is no resolve texture at the end of the pass. The fix is to skip the check if the platform we are using supports autoresolve
Configuration menu - View commit details
-
Copy full SHA for 82e159f - Browse repository at this point
Copy the full SHA 82e159fView commit details -
[SG] Update default heatmap values.
Update SG heatmap default values.
Configuration menu - View commit details
-
Copy full SHA for b273eaf - Browse repository at this point
Copy the full SHA b273eafView commit details
Commits on Oct 7, 2024
-
[URP Fantasy Kingdom] Remove Motion Vectors Depth Bias
This PR removes the depth bias that was previously being applied to objects during motion vector rendering. The bias was causing objects to render out of order (in terms of depth) in the motion vector pass which led to ghosting artifacts when temporal effects (like TAA or STP) use the inaccurate motion vector data. After some analysis, it seems that the bias was necessary before because of two things: 1. The depth format used by the motion vector pass didn't always match the format used to generate the depth buffer. This was causing precision issues due to format conversions. This PR corrects the issue by ensuring the same format is always used. 2. The camera motion vectors shader was unintentionally sampling depth via a RelaxedPrecision qualified sampler type. On some platforms (Samsung S21 Android+VK), this was allowing the device to quantize the sampled depth data from its original format during sampling. This effectively meant we got 24/32 bit depth converted to 16-bit during sampling, and then tried to store out 24/32 bit depth after. This led to shadow-acne-like artifacts on CI. Normally, a hack in the hlslcc compiler is supposed to prevent depth texture sampling from using RelaxedPrecision, but the sampler was renamed at some point so this no longer appears to happen. This PR works around the issue by loading the depth data via image load rather than using a sampler which solves the issue on the S21. In the future, we should go back and find a better way to ensure depth samples don't end up qualified with RelaxedPrecision, but for now this approach solves a pressing issue for us and is still technically correct.
Mikkel Simonsen authored and Evergreen committedOct 7, 2024 Configuration menu - View commit details
-
Copy full SHA for 95889e2 - Browse repository at this point
Copy the full SHA 95889e2View commit details
Commits on Oct 8, 2024
-
Configuration menu - View commit details
-
Copy full SHA for f4531f3 - Browse repository at this point
Copy the full SHA f4531f3View commit details
Commits on Oct 9, 2024
-
Remove #if preprocessor wrapping the UniversalRenderPipelineRuntimeXR…
…Resources definition jira: https://jira.unity3d.com/browse/UUM-82247 Since the class UniversalRenderPipelineRuntimeXRResources is wrapped in the #if ENABLE_VR && ENABLE_XR_MODULE preprocessor, it will not compile on platforms where ENABLE_VR is not defined. This is why on platforms like tvOS, where ENABLE_VR is not defined, a warnning is shown that no matching type found for the UniversalRenderPipelineRuntimeXRResources data added to Assets/Settings/UniversalRenderPipelineGlobalSettings.asset. The UniversalRenderPipelineRuntimeXRResources class definition should compile regardless of platform, so I removed the #if ENABLE_VR && ENABLE_XR_MODULE preprocessor. ### Before: <img width="872" alt="image" src="https://media.github.cds.internal.unity3d.com/user/6374/files/1886efc7-b93e-4bbe-8ab2-4471f56c50b5"> Warning shows up when open the URP template project on tvOS platform. ### After: No warning shows up.
Configuration menu - View commit details
-
Copy full SHA for a47e579 - Browse repository at this point
Copy the full SHA a47e579View commit details -
Docg 5744 local volumetric fog material sg
* Add volumetric fog samples' descriptions from `VolumetricSamplesDescriptions.json` * Refactor task to use samples
Configuration menu - View commit details
-
Copy full SHA for 579d5ef - Browse repository at this point
Copy the full SHA 579d5efView commit details -
Added custom render texture documentation
Add the documentation for Custom Render Texture shader graph that is missing for more than 2 years now 😱 See the doc page here: https://github.cds.internal.unity3d.com/unity/unity/blob/graphics/sg/fix-custom-render-texture-documentation/Packages/com.unity.shadergraph/Documentation~/Custom-Render-Texture.md
Configuration menu - View commit details
-
Copy full SHA for e07fe45 - Browse repository at this point
Copy the full SHA e07fe45View commit details -
[Graphics Tools][HDRP Wizard] Multiple fixes and UI improvements.
https://jira.unity3d.com/browse/UUM-78839 The thing is that this validation should not show the fix button, hide buttons of validations without a fixer https://jira.unity3d.com/browse/UUM-77499 Simplify it to a single line. Improve the UI: Version shown on the window title: ![imagen](https://media.github.cds.internal.unity3d.com/user/3279/files/7568d8a3-a649-4632-b4b9-d0b188265dc7) Package manager and show on start are always visible in the toolbar. ![imagen](https://media.github.cds.internal.unity3d.com/user/3279/files/567b330d-145d-4e9f-a27b-d9db96a5e62f) Helpboxes with button instead of custom helpboxes ![imagen](https://media.github.cds.internal.unity3d.com/user/3279/files/4ee1ed7a-31ef-4406-b395-7e17ff91bb8b) Splitting sections HDRP, VR and DXR. As other windows an inspectors are doing. ![imagen](https://media.github.cds.internal.unity3d.com/user/3279/files/af543313-dacd-4dd4-a4fb-fdce4e3c6962) Also, each section has a shortcut to it's documentation: ![imagen](https://media.github.cds.internal.unity3d.com/user/3279/files/1b3dfdfb-394a-4988-980f-75aea71eaa1d) Having a general settings section. ![imagen](https://media.github.cds.internal.unity3d.com/user/3279/files/66140161-4fcc-4dcb-ab88-48ceb787203b)
Configuration menu - View commit details
-
Copy full SHA for c162234 - Browse repository at this point
Copy the full SHA c162234View commit details -
[UUM-73635] Fix debug rendering error when rebaking APV with disk str…
…eaming enabled UUM-73635 When creating CellInstancedDebugProbes.probeBuffers, some of the CellData.probePositions vector components are irregularly NaN or very large. The ProcessDiskStreamingRequest API reads streaming data asynchronously. The reason for the errors is that debug rendering is called while the asynchronous work is not finished. Modified to call debug rendering when streaming is not in progress.
Configuration menu - View commit details
-
Copy full SHA for 0c6e1c6 - Browse repository at this point
Copy the full SHA 0c6e1c6View commit details -
Fix a bug that SG is reverted to its last saved state when entering P…
…lay Mode without saving changes This PR fixes the reported bug and add a unit test. Why the bug occurs: If a SG window (a `MaterialGraphEditWindow`) is open and its `m_GraphObject` field is null, then it reverts to the last saved state. `m_GraphObject` becomes null in `MaterialGraphEditWindow.OnDisable()`, which is called as a result of Domain Reload. Fix: Release `m_GraphObject` only in `OnDestroy()` Another issue: When a SG window is closed, `MaterialGraphEditWindow.OnDestroy()` is supposed to release `m_GraphObject` and its revelant resources. But `OnDisable()` makes only `m_GraphObject` null therefore the cleanup in `OnDestroy()` does not run. Same goes for `m_GraphEditorView`.
Configuration menu - View commit details
-
Copy full SHA for 74ac240 - Browse repository at this point
Copy the full SHA 74ac240View commit details -
Fixed layer index out of range in LayeredLitGUI
Jira: [UUM-71157](https://jira.unity3d.com/browse/UUM-71157) As reported in JIRA, the 4th layer does not work on LayeredLit material when it is copied asset. This is also reproducible if we set the last layer's material to `None` because when the material is copied, the `GUIDArray` is trimmed. By setting the layersGUID size to 4(`kMaxLayerCount`), we can guarantee that the size of the layers to 4 as it is initialized before. | Before | After | | -- | -- | |![image](https://media.github.cds.internal.unity3d.com/user/3842/files/a42c0064-3754-4f13-a446-0ba8e6712349)|![image](https://media.github.cds.internal.unity3d.com/user/3842/files/d56a263b-f6f0-4da1-84a6-90dd9e3fb1ce)|
Configuration menu - View commit details
-
Copy full SHA for b444168 - Browse repository at this point
Copy the full SHA b444168View commit details -
Fix some minor points in the STP documentation pages
Configuration menu - View commit details
-
Copy full SHA for 62e5cff - Browse repository at this point
Copy the full SHA 62e5cffView commit details -
Fix URP Camera Stacking, Renderscale, NaN and alpha related issues.
Fix camera stack issues relating to render scale. Clamps alpha to 1 as alpha is expected to be transparency. Fixes a NaN issue with Lens Distortion.
Configuration menu - View commit details
-
Copy full SHA for 5587da7 - Browse repository at this point
Copy the full SHA 5587da7View commit details
Commits on Oct 10, 2024
-
[SRP] Fixed Corrupted Sprites UUM-77168
This PR fixes UUM-77168, which was a regression from UUM-62522. The main issue is that the "current render pipeline" can be empty string when no render pipeline is selected (which is a valid case). UUM-62522 added a fix to just check the currently supported subshaders by the current render pipeline, but did not handle the empty string case. While investigating this fix, there was also a warning caused by including `Core2D.hlsl`. That has been fixed, along with some minor updates to generate better Metal shader code.
Configuration menu - View commit details
-
Copy full SHA for 8161f41 - Browse repository at this point
Copy the full SHA 8161f41View commit details -
Fix upsampler settings not being shown on unsupported platforms
On Mac, it was not possible to edit the parameters of unsupported upsampling algorithms like DLSS and FSR2. This PR allows to change the settings, note that the algo still doesn't work on these platforms and the user is informed with a help box: ![image](https://media.github.cds.internal.unity3d.com/user/745/files/c8c5bcf1-6317-4f9d-bea9-114f0c77fe9a)
Configuration menu - View commit details
-
Copy full SHA for b3eeb83 - Browse repository at this point
Copy the full SHA b3eeb83View commit details -
RenderGraph.AddBlitPass doesn't work correctly with texture array slices
Fix UUM-77828 The render graph compiler was not correctly handling sub-resources as attachments both in c# and c++. This could cause rendering to slice x and y to be merged into a single render pass that rendered only to slice x. This is fixed by comparing not only the resource but also the array slice and mip index. Also fixes the following minor issues discovered during investigation of this bug: - Add Slice/Mip data to the render graph debugger which made it difficult to debug this - Add some extra validation to the descriptor to avoid silently failing when creating invalid texture descriptors - Renderpass C++ api validation was broken and considered some valid setups to be invalid since it was not comparing the aray slice and mip when testing attachments for equality.
Configuration menu - View commit details
-
Copy full SHA for f798d6a - Browse repository at this point
Copy the full SHA f798d6aView commit details -
Enable the use of AllGlobals in the UIPass
This PR fixes a bug found by a client when it was trying to use two partial textures in a custom material at UI Pass, even as they were marked as global, as no other Pass was using it later they was reused by other passes, what throws wrong results in the expected render. When a render pass can run arbitrary materials from users, then it needs to declare it uses All Globals in the pass, in any other case, the resources could be discarded and reused by other passes. With the change made in this PR, the UI Pass will enable the UseAllGlobals to avoid this error with custom UI shaders. Even the use of `AllGlobals` can affect performance, we need this change for correctness.
Configuration menu - View commit details
-
Copy full SHA for 2666fb5 - Browse repository at this point
Copy the full SHA 2666fb5View commit details
Commits on Oct 12, 2024
-
Downgrade UPM from 8.9.0 to 8.7.0. A change included in UPM 8.8.0 (never deployed individually in trunk) introduced a HUP issue in the Rider IDE's Unity support because the Rider code used hard-coded assumptions about the location of packages on disk rather than relying on outputs from Unity's package manager. While this was reported to JetBrains as a Rider bug, they reached out to us [over Slack](https://unity.slack.com/archives/CP9UVU6MB/p1728388524010679). Since this directly affects Unity user workflows, [we decided to downgrade UPM](https://unity.enterprise.slack.com/archives/C07S55ENJTA) to the version just before the one that introduced the package path change to give JetBrains some time to roll out a pre-emptive fix by using the file `Library/PackageManager/projectResolution.json` instead of reading input files and reimplementing the UPM logic for resolved path building. The following describe this upgrade PR as if we were redoing the UPM upgrade from 8.6.0 to 8.7.0 instead of 8.9.0: UPM source code diff: https://github.cds.internal.unity3d.com/unity/upm/compare/v8.6.0...v8.7.0 upm-core source code diff: https://github.cds.internal.unity3d.com/unity/upm-core/compare/v8.4.1...v8.5.0 UPM 8.7.0 changelog entry: * **Added** [PAK-5270] Introduced a new `overrideBuiltIns` property to scoped registry configuration that will allow resolving packages from a registry even when they are built-in. * _This ties into the `Removed / PAK-5270` entry below._ * **Changed** [PAK-5226] Operations that require exclusive access to a resource no longer fail if the resource is busy. Instead, they wait for the resource to become available. * _QoL improvement._ * **Removed** [PAK-5270] Removed the fix introduced in [PAK-4540] allowing built-in packages to be overridden by registry source. * _This fixed a workflow issue when the project manifest referenced another version than the built-in version (this could happen when importing a .unitypackage referencing one of the core packages if the Unity version of the .unitypackage was newer than the current editor version). However, we found examples of people relying on this behaviour who "forked" core packages and published them on their custom scoped registries, which is why the `overrideBuiltIns` property was also added to the scoped registry configuration (no UI)._ * **Security** Updated the list of well-known certificates to the _2024-07-02_ revision. * _Regular maintenance update._ @relmgmt: This PR is based on a revert of https://github.cds.internal.unity3d.com/unity/unity/pull/53876. I'm including the retroactive release notes as if we had instead upgraded from 8.6.0 to 8.7.0. Once Rider has this fix, we will revert this PR to upgrade again to 8.9.0, and update the release notes to provide only the entries relevant to the 8.7.0...8.9.0 change.
Configuration menu - View commit details
-
Copy full SHA for 48a6608 - Browse repository at this point
Copy the full SHA 48a6608View commit details
Commits on Oct 16, 2024
-
[PS5, Metal] Fix shader errors due to Foveated Rendering
Fix shader errors when building the URP 3D Template on Metal. Foveated Rendering related .hlsl files should be included in this order: #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl" A motion vector pass generated by Shader Graph includes headers in this order: #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" ... #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl" Here Lighting.hlsl includes RealtimeLights.hlsl includes Clustering.hlsl, and Clustering.hlsl includes only FoveatedRendering.hlsl. Therefore definitions in FoveatedRenderingKeywords.hlsl are not included in the final generated code, causing shader compilation errors. My PR simply reorder includes so that Lighting.hlsl comes after.
Configuration menu - View commit details
-
Copy full SHA for a7bac7f - Browse repository at this point
Copy the full SHA a7bac7fView commit details -
This PR adds a new option for cross-fade dithering type, which achieves dithering by stencil test instead of alpha testing. By enabling this option, the shader keyword LOD_FADE_CROSSFADE is stripped in forward/deferred pass and in depth-normal prepass (Limitation: it is not stripped if GPU instancing is enabled or if render graph is disabled). Stencil override is incompatible with this option in the above passes because 2 stencil bits (4 and 8) and the comparison function are overridden to render cross-fading objects. The cross-fade has 4 transition steps. The following image shows a mesh cross-fading with different transition amounts. ![image](https://jira.unity3d.com/secure/attachment/1467810/image-2024-06-14-15-30-58-888.png) 4 transition steps correspond to 4 stencil values. Fade-in and fade-out complement each other, and it is done by using complementing comparison functions. There is a warning message if stencil override is used along with this option. ![image](https://media.github.cds.internal.unity3d.com/user/7232/files/38193843-e691-4603-8232-4fde87606e7c)
Masayoshi Miyamoto authored and Evergreen committedOct 16, 2024 Configuration menu - View commit details
-
Copy full SHA for 3f6ed56 - Browse repository at this point
Copy the full SHA 3f6ed56View commit details -
Baking, then deleting baking set asset, then rebaking causes exceptio…
…n (APV) This PR fixes the issue of using unmatched APV cell data with the temporary baking set. When an existing baking set asset is removed from itself or outside of the editor, the Adaptive Probe Volumes light tab creates a new temporary baking set. However, cached data wasn't removed clearly in ProbeReferenceVolume. So it has been fixed to remove the loaded data by calling AddPendingSceneRemoval when a temporary baking set is created.
Configuration menu - View commit details
-
Copy full SHA for 7c43aa4 - Browse repository at this point
Copy the full SHA 7c43aa4View commit details -
Fix for Overlay UI in RG + HDR + FXAA/FSR
This PR aims to fix the issue of the Overlay UI not being displayed on screen, when using RG + HDR Output + FSR/FXAA. The bug was caused by the missing Shader Keyword HDROverlay in finalPostPass, as the method SetupHDROutput would only set the keyword for the uberPass shader. When FSR/FXAA are enable on RenderGraph more render passes are created and the rendering UI overlay happens in FinalPost, so now we set the keyword based on the material given.
Configuration menu - View commit details
-
Copy full SHA for 144fe84 - Browse repository at this point
Copy the full SHA 144fe84View commit details -
[VFX] Fix Custom Attribute Sanitize
Fix sanitize issue introduced at https://github.cds.internal.unity3d.com/unity/unity/pull/25236 (merged in 2023.3.0a7) The random setting wasn't migrated. It would have caused an unlink and change of behaviour in the graph if a block meets these two condition: - Use former Set Custom Attribute Block - Random is different than "Off"
Configuration menu - View commit details
-
Copy full SHA for 74c26fe - Browse repository at this point
Copy the full SHA 74c26feView commit details -
Cloud layer order - transparent depth prepass
Fixes [UUM-82679](https://jira.unity3d.com/browse/UUM-82679). The relevant HDRP passes look as follows: ``` Render Opaques - write Depth RenderSky - test Depth PreRefractionDepthPrepass - write pre-refraction transparents to Depth DuplicateDepth - copy Depth to PreRefractionDepth TransparentDepthPrepass - write post-refraction transparents to Depth RenderClouds - test Depth ``` HDRP has the ability for transparent objects to show up in the refractions of other transparent objects. For this feature, transparent draws are split into two passes: 1. Pre-refraction transparents are rendered first. These are transparents that have their Rendering Pass set to "Before refraction". 2. Post-refraction transparents are rendered afterwards. These are materials with a refractive material on them. The depth buffer is copied between these two passes. Before, the final depth buffer was used to test while rendering clouds, which is why they did not show up behind refractive objects. This PR changes the `RenderClouds` call to test against the pre-refraction depth buffer, and hence clouds do show up behind refractive materials. ![image](https://media.github.cds.internal.unity3d.com/user/2726/files/39d61641-e3b0-4ffa-83a1-3586a0d952a6) _Before: The refractive yellow cube incorrectly masks out the green cloud layer. The blue cube is pre-refraction, and does correctly show up behind the yellow cube._ ![image](https://media.github.cds.internal.unity3d.com/user/2726/files/0cb11761-856b-48d5-a18b-cc68b0dbaab1) _After: The green cloud layer is rendered correctly behind the yellow refractive cube._ This PR also modifies the cloud layer test to check for transparent materials. ![image](https://media.github.cds.internal.unity3d.com/user/2726/files/a6820343-8e72-42f1-92d4-71b651f893f9)
Configuration menu - View commit details
-
Copy full SHA for 4cc637b - Browse repository at this point
Copy the full SHA 4cc637bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 59961d0 - Browse repository at this point
Copy the full SHA 59961d0View commit details -
Fix horizontal deformation with water system deformer
This PR allow horizontal deformation with HDRP water system. Please note that this option is disabled by default thus won't cause any change unless specifically checked by users. This was something that was discussed and tested many months ago during multiple hackweeks and was asked by multiple users (forums and via customer support : https://unity.slack.com/archives/C02EZE47X0T/p1726521015570729) This allows the SG deformers to output a vector3 instead of a single float for deformation. This is split in two to allow for more flexibility in authoring and scalability: ![image](https://media.github.cds.internal.unity3d.com/user/1764/files/14e40b0e-47c1-424a-bb43-5485f511459f) This enables behavior like this: https://media.github.cds.internal.unity3d.com/user/1764/files/1970fc0c-0082-4923-b7f8-b8151b37bf07 Since the increase in memory cost is not insignificant this is disabled by default in an HDRP setting under Water section ![image](https://media.github.cds.internal.unity3d.com/user/1764/files/ef4ca279-9260-4ddd-9755-98b399a6bc51) Documentation needs to include some limitation of this when it's enabled, this can be done later since water decals is still not properly documented. (Compability with underwater or CPU simulation) Jira link for documentation : https://jira.unity3d.com/browse/DOCG-6165
Configuration menu - View commit details
-
Copy full SHA for 66adba2 - Browse repository at this point
Copy the full SHA 66adba2View commit details -
Fix broken links and formatting in Shader Graph docs (DOCATT-589 and …
…DOCATT-1045 *[This PR is intended to fix broken links and formatting issues in the Shader Graph documentation for the following JIRA tickets: - DOCATT-589 - DOCATT-1045 ]*
Configuration menu - View commit details
-
Copy full SHA for 6f09019 - Browse repository at this point
Copy the full SHA 6f09019View commit details -
Update Terrain Test Project Image Refs and Version
The failing CI jobs has been slowing developer velocity, as they could not rely on the test result status for easy verification. The point of this PR is to unblock said devs. In effect, this PR updates the test refs of those who needed to be updated and updates the UniversalGraphicsTest_Terrain test project to U6. It also disables some tests on specific platforms where more investigation is required (see [ENV-5648](https://jira.unity3d.com/browse/ENV-5648)).
Configuration menu - View commit details
-
Copy full SHA for e054495 - Browse repository at this point
Copy the full SHA e054495View commit details -
[2d] Add TexelSize as optional Init parameter
This is an additional fix to 77050 that addresses SRP-Batcher incompatibility for Shaders created with ShaderGraph for 2D Renderers. SRP-Batcher for 2D goes through a Custom Path and does not support TexelSize (_TexelSize) and Offset (_ST). However ShaderGraph enforces use of TexelSize whenever Textures are sampled due to initializing TexelSize when constructing UnityTexture2D. This PR makes it optional just like Offset.
Configuration menu - View commit details
-
Copy full SHA for 5bdfad2 - Browse repository at this point
Copy the full SHA 5bdfad2View commit details -
Fix small GPUResidentDrawer bugs
Fixes some small bugs: * https://jira.unity3d.com/browse/UUM-83561 * https://jira.unity3d.com/browse/UUM-83578 * https://jira.unity3d.com/browse/UUM-84509
Configuration menu - View commit details
-
Copy full SHA for 291c205 - Browse repository at this point
Copy the full SHA 291c205View commit details
Commits on Oct 17, 2024
-
Remove warning 'use of potentially uninitialized variable'
Fix shader warnings in VFX graphs in URP 3D Sample: > use of potentially uninitialized variable (BuildVaryings) at /Repos/com.unity.template.urp-sample/Library/PackageCache/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl(73) (on d3d11) ``` Varyings SomeFunction() { Varyings output = (Varyings)0; if (some) return output; // here output.field0 = ...; output.field1 = ...; return output; } ``` FXC thinks returning 'output' in the midst of a function may cause it to be not fully initialized, when it's already zero-initialized. I rearranged the source code to remove intermediate return statements.
Configuration menu - View commit details
-
Copy full SHA for 873c94f - Browse repository at this point
Copy the full SHA 873c94fView commit details -
Set the internal execute method of custom passes to virtual
allow render graph passes with reflection
Configuration menu - View commit details
-
Copy full SHA for 4cc9a9a - Browse repository at this point
Copy the full SHA 4cc9a9aView commit details -
[VFX] Fix Sample Water Surface & CustomHLSL
Fix two issues reproducible with the Sample Water Surface node in HDRP. The first one is simply about a delayed field attribute missing, it prevents recompilation of the graph while editing settings: https://media.github.cds.internal.unity3d.com/user/42/files/05b1db56-78db-472c-8d57-888a598869fa The second one was more problematic, it displayed an error `Expression graph was marked as dirty after compiling context for UI` but simply due to an incorrect `Equals` implementation. https://media.github.cds.internal.unity3d.com/user/42/files/70854649-a86a-45b4-8ab2-8c65aa1033ef
Configuration menu - View commit details
-
Copy full SHA for 3eaca16 - Browse repository at this point
Copy the full SHA 3eaca16View commit details -
HDRenderPipeline: Ensure custom post-process is disabled when post-pr…
…ocess is disabled. This PR ensures custom post-process effects in the `HDRenderPipeline` are disabled when post-processing is disabled.
Configuration menu - View commit details
-
Copy full SHA for c9d710a - Browse repository at this point
Copy the full SHA c9d710aView commit details -
Fixes UUM-72639 by ignoring material variants when converting, and logging an informative message to the console for awareness: ![image](https://media.github.cds.internal.unity3d.com/user/696/files/4ae2bcd6-e62e-480b-8f83-59164578bbd2)
Configuration menu - View commit details
-
Copy full SHA for 40adebe - Browse repository at this point
Copy the full SHA 40adebeView commit details -
HDRP: Ensure PROCEDURAL_INSTANCING_ON is not applied to sg compute ke…
…rnels. This PR fixes an issue where the `PROCEDURAL_INSTANCING_ON` keyword is incorrectly applied to the compute-kernels generated using the `VertexSetup.template`, leading to instancing-related errors at compile-time (since `UNITY_INSTANCING_PROCEDURAL_FUNC` is undefined for compute-shaders). The solution presented here isn't ideal, but since shadergraph has minimal compute-shader generation support (i.e. there are no good mechanism to include/exclude keywords for kernels generated by shadergraph), this should be good-enough for now.
Configuration menu - View commit details
-
Copy full SHA for e23542b - Browse repository at this point
Copy the full SHA e23542bView commit details
Commits on Oct 19, 2024
-
Fix Lens Flare Data (SRP) documentation link UUM-84033
Fix for UUM-84033 by adding a missing documentation link for the `Lens Flare Data (SRP)` asset on [URP](https://docs.unity3d.com/6000.0/Documentation/Manual/urp/shared/lens-flare/lens-flare-asset.html) and [HDRP](https://docs.unity3d.com/Packages/com.unity.render-pipelines.high-definition@latest/index.html?subfolder=/manual/shared/lens-flare/lens-flare-asset.html).
Configuration menu - View commit details
-
Copy full SHA for ce03c04 - Browse repository at this point
Copy the full SHA ce03c04View commit details -
Remove assert in TextureDesc creation to avoid errors in Compatibilit…
…y Mode Although TextureDesc is used for RenderGraph TextureHandles, CreateTextureDesc is used in functions (eg ReAllocateIfNeeded) that are part of URP Compatibility mode. Removing the asset, reverting a recent change, to not impact projects using URP compatibility mode.
Configuration menu - View commit details
-
Copy full SHA for 316a0fb - Browse repository at this point
Copy the full SHA 316a0fbView commit details -
[VFX] Two Custom hlsl bug fixes
### Bug 1 Jira: UUM-83782 When a custom hlsl block has parameter with the same name as a built-in attribute, the VFX does not compile. - import the provided [package](https://jira.unity3d.com/secure/attachment/1556961/VFXG_HLSL_AttributeRedefinition.unitypackage) - open the asset named `VFXG_HLSL_AttributeRedefinition` - try to compile Actual results: VFX doesn't compile with errors in the console: > Shader error in '[VFXG_HLSL_AttributeRedefinition] [Simple Burst] Initialize Particles': redefinition of 'direction' at kernel CSMain at VFXG_HLSL_AttributeRedefinition.vfx(191) (on d3d11) Expected results: User should be able to set input names that match the attributes name. ### Bug 2 Jira: UUM-83676 When creating a Custom HLSL operator with two outputs, and that those two outputs are plugged, then the same function is copied twice in the generated compute shader. Steps to reproduce: 1. Create a new VFX Graph asset (use the simple loop template) 2. Open this VFX Graph 3. Add a Custom HLSL operator 4. Replace the default code by this one: >void FloatFunction(in float value, out float a, out float b) { a = value * 2; b = value * 3; } 5. Connect the output a and output b to the gravity Force input (X and Y) Actual results: The VFX Graph do not compile because the function is duplicated Expected results: The VFX Graph works fine
Configuration menu - View commit details
-
Copy full SHA for 9932939 - Browse repository at this point
Copy the full SHA 9932939View commit details -
Optimized load operation for XR final blit pass.
Jira: https://jira.unity3d.com/browse/UUM-68515 Optimized final blit pass for XR, so that RenderGraph uses LoadOp.DontCare instead of loadOp.Load. This saves memory bandwidth cost for untethered XR platforms.
Configuration menu - View commit details
-
Copy full SHA for 2786eff - Browse repository at this point
Copy the full SHA 2786effView commit details
Commits on Oct 21, 2024
-
[UUM-84431] Fix Lens Flare not rendering properly in OpenGLES3
UUM-84431 In OpenGLES3, Lens Flare does not render properly when the Screen Space Occlusion option is enabled. The following warning message appears: ``` CommandBuffer: temporary render texture not found while executing (SetGlobalTexture) UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&) ``` OpenGLES3, OpenGLCore, and WebGPU do not initialize occlusionRT. Fixed occlusion to be enabled when occluionRT is initialized.
Configuration menu - View commit details
-
Copy full SHA for 43777d4 - Browse repository at this point
Copy the full SHA 43777d4View commit details -
[Unity 6][URP] Fixing unset CameraToWorld matrix in shadow caster pas…
…ses (UUM-84287) Fixing UUM-84287. This is a followup of #46297 PR that fixed UUM-63267. The fix in that PR fixed the issue given there by setting the WorldToCamera matrix before rendering shadows. However in this case the user also needs the CameratoWorld matrix.
Configuration menu - View commit details
-
Copy full SHA for e639fe7 - Browse repository at this point
Copy the full SHA e639fe7View commit details -
[UUM-78803] Implement Main Light Direction node on builtin
https://jira.unity3d.com/browse/UUM-78803 This PR adds an implementation of the Main Light Direction node on builtin. I couldn't find any official indication it was unsupported, and `_WorldSpaceLightPos0` works fine.
Configuration menu - View commit details
-
Copy full SHA for 2b2df1b - Browse repository at this point
Copy the full SHA 2b2df1bView commit details -
[Unity 6.1][URP] Fixing tooltips (UUM-83534)
Fixes UUM-83534.
Configuration menu - View commit details
-
Copy full SHA for 6a42a15 - Browse repository at this point
Copy the full SHA 6a42a15View commit details
Commits on Oct 22, 2024
-
[2d] Fix (Case UUM-83049) Use URP Material for Sprite for Standard UR…
…P Material. Ensure URP Material is used for Sprite even for case of Standard URP use.
Configuration menu - View commit details
-
Copy full SHA for cbd97d5 - Browse repository at this point
Copy the full SHA cbd97d5View commit details -
[SRPF] Fix an exception when delegate target is empty
.Net 8 and .Net Standard have a different behaviour for RuntimeHelpers.GetHashCode In .Net 8 it's acceptable to pass null. https://learn.microsoft.com/en-us/dotnet/api/system.runtime.compilerservices.runtimehelpers.gethashcode?view=net-8.0 In Standard it's not. https://learn.microsoft.com/en-us/dotnet/api/system.runtime.compilerservices.runtimehelpers.gethashcode?view=netstandard-2.1
Configuration menu - View commit details
-
Copy full SHA for cdbbbe9 - Browse repository at this point
Copy the full SHA cdbbbe9View commit details -
[VFX] Render last particle in particle outputs with strip data
When rendering particle strips, the last particle is ignored. This is because N particles produce N-1 strip segments. However, if the particle strip system is connected to a regular particle system output, we have to render all particles. Before, we were adding 1 to the max particle index before testing if the particle must be discarded. Now, we only do that if the particle is a particle strip output (HAS_STRIPS). We already do similar adjustments in the same function. The separate path for Shader Graph outputs was already taking this into account, that is why there was a discrepancy. In the provided repro case, there are 2 particle outputs connected to the same strip system, one with Shader Graph output (left), the other with a regular output(right). The strips behind are only there as a reference. Before: ![image](https://media.github.cds.internal.unity3d.com/user/2805/files/307ae729-135e-4a39-b2f4-6b0b27f70c00) After: ![image](https://media.github.cds.internal.unity3d.com/user/2805/files/5b291f82-fa72-4ded-a829-84e04275a8a1)
Configuration menu - View commit details
-
Copy full SHA for c659b33 - Browse repository at this point
Copy the full SHA c659b33View commit details -
[Fix] Fix the GBuffer pass to write in RT4 in Render Graph mode
This PR fixes the GBuffer pass for VFX outputs when URP is using the Render Graph : when Render Graph is enabled, the Render Target 4 expects to receive the pixel depth. The PR also fixes the GBuffer pass for the Decal output, making it match the non-VFX implementation.
Configuration menu - View commit details
-
Copy full SHA for 04c0d41 - Browse repository at this point
Copy the full SHA 04c0d41View commit details -
[UUM-84967] Make RenderGraphViewer script path lookup robust
Fix the `RenderGraphViewer` logic that resolves script paths when clicking on the `#` buttons to not rely on hard-coded assumptions that will change in UPM 8.8.0. As described in the Jira issue, this change is necessary for the Package Manager team to avoid introducing a regression when upgrading UPM to 8.8.0 or newer because that version introduces a change in how packages are stored in the Library folder. Jira: https://jira.unity3d.com/browse/UUM-84967
Configuration menu - View commit details
-
Copy full SHA for 763b4a4 - Browse repository at this point
Copy the full SHA 763b4a4View commit details -
https://jira.unity3d.com/browse/UUM-82539 Adaptive Probe Volume baking doesn't currently work properly on GLES. In this PR, I fix the root cause: The shader that performs jump flooding during probe placement reads and writes to the same buffer in one kernel. This is a race condition that happens to work out on most platforms (jump flooding is eventually-consistent). On GLES, this doesn't work, but not for the reason you might think - GLES simply doesn't support reading and writing to the same buffer in one kernel invocation. By fixing the race, I also fix the GLES incompatability. While debugging this, I noticed and fixed 3 other issues that were making it very difficult for me to verify my baking fix. Here is a brief description of these: 1. On GLES we use a 4 component unorm texture to store validity. This is because GLES has limited support for single channel unorm. However, we don't account for this when populating the texture, so the data is all messed up. I fixed this by adding a special case when populating. 2. On all mobile targets, we (seemingly accidentally) use half precision reads on the shader side when reading validity. However, validity stores an 8bit integer index in each unorm channel, and must be precisely decoded to work properly. Half precision reads are not sufficient, we need full precision. I changed the textures in question to be bound as full precision on all platforms. 3. Don't initialize compute shaders and enable random write UAVs for scenario blending, if the target doesn't support these. With that, both baking and sampling of APV seems to work properly on GLES. There is 1 commit per sub-bugfix.
Configuration menu - View commit details
-
Copy full SHA for 7009d51 - Browse repository at this point
Copy the full SHA 7009d51View commit details
Commits on Oct 23, 2024
-
Fix UUM-84029 Broken visual and spamming error in DepthBlit package s…
…ample (No engine code change, only URP package sample code changes) This solves spamming errors and broken visual when resizing GameView with Free Aspect (Fix UUM-84029), by moving RT allocation from renderer feature to render pass. Fixes this: https://jira.unity3d.com/browse/UUM-84029
Configuration menu - View commit details
-
Copy full SHA for 55ec85b - Browse repository at this point
Copy the full SHA 55ec85bView commit details -
Add new manipulator for ShaderGraph MainPreview
Jira : [UUM-76223](https://jira.unity3d.com/browse/UUM-76223) Added new manipulator to replace `ContextualMenuManipulator` of `MasterPreviewView.cs` **Problem:** The `ContextualMenuManipulator` functions differently on OSX compared to other platforms. Shader Graph's MainPreview (`MasterPreviewView.cs`) employs two manipulators: `ContextualMenuManipulator` and `Draggable`. When attempting to switch the mesh in MainPreview, the following events occur: * CMM: ContextualMenuManipulator > **Windows:** > Right-click down on Preview - (Draggable: Mouse down) - Right-click up on Preview - (CMM: Point Up) - (Draggable: Mouse up) - (CMM OnContextualMenuEvent) - Menu displays - Select Mesh - Hover cursor and move - Mesh remains static. > > **Mac:** > Two-finger down on Preview - (CMM: Point Down) - (Draggable: Mouse down) - (CMM OnContextualMenuEvent) - Menu displays - Two-finger up on Preview - Select Mesh - Hover cursor and move - Mesh rotates. The issue on Mac arises because the "Draggable: Mouse up" event does not trigger after the "Draggable: Mouse down" event, causing the mesh to rotate. I have verified that only the down event occurs during a two-finger down gesture, without an up event. (No MouseUp / TouchUp / KeyUp events are detected in the IUIElementsUtility.ProcessEvent section.) So, I have decided to prevent the 'Draggable: Mouse Down' event from being called as a solution(on OSX). **Solution:** Among various options, I have chosen the last solution: 1: Disable(or remove) the `Draggable` manipulator when the `ContextualMenuManipulator` is activated and re-enable(or add) it once the ContextMenuManipulator has completed the menu selection. - Issue: There is no callback for when the ContextualMenuManipulator's DropdownMenu is canceled (i.e., when the menu is dismissed without selection), so the drag issue remains unresolved in such cases. 2: Modify ContextMenuManipulator by replacing `StopPropagation()` in `DoDisplayMenu()` with `StopImmediatePropagation()`. - Issue: This would require extensive testing due to numerous references to `ContextualMenuManipulator`, including: [Shader Graph] / MasterPreviewView / PropertyNodeView / SGBlackboardCategory / SGBlackboardField / ShaderGraphHeatmapValuesEditor / ShaderGroup / ShaderInputPropertyDrawer / StickyNote / TabButton [ai.navigation] / SystemConvertersEditor.cs [inputsystem] / ContextMenu / InputActionsEditorView / PropertiesView / RenderPipelineConvertersEditor 3: Add a manipulator that inherits from `ContextMenuManipulator` and replace only the CMM in MasterPreviewView. - Advantage: Requires less testing compared to option 2. Even if issues arise in the future, they will be confined to this specific class, making maintenance easier.
Configuration menu - View commit details
-
Copy full SHA for 2339c07 - Browse repository at this point
Copy the full SHA 2339c07View commit details -
Graphics: Apply dynamic_branch to Fog related keywords
This PR adds a parameter to the ShaderConfig.cs in the URP Config package to apply dynamic branching to fog keywords (FOG_EXP, FOG_EXP2, FOG_LINEAR). Enabling dynamic branching reduces the shader variant build time by 30%. More details about the impact of this change are described in this report. The parameter `k_DynamicBranchFogKeyword` is zero by default. This means dynamic branching is disabled until users change this parameter because this change could cause uncertain issues. ### Additional note This PR doesn’t provide a way to test dynamic branching on Unity CI, which means we won’t be able to notice the problem in the future. But is it necessary to run all the graphics tests to verify the behavior of a single parameter of the URP Config? Tradeoffs must be considered to address this issue.
Configuration menu - View commit details
-
Copy full SHA for 6480a0e - Browse repository at this point
Copy the full SHA 6480a0eView commit details -
[Unity 6][URP] Fixing an issue where ScreenSpaceShadows weren't worki…
…ng with Decals (UUM-81517) Fixes UUM-81517.
Configuration menu - View commit details
-
Copy full SHA for 8836fb1 - Browse repository at this point
Copy the full SHA 8836fb1View commit details
Commits on Oct 24, 2024
-
[HDRP] Documentation for VFX Sample Water Surface node
Following this PR : https://github.cds.internal.unity3d.com/unity/unity/pull/42313/files it appears that the documentation wasn't linked at all. (water-vfx-interaction.md) This PR fixes the problem. Besides, content was refactored to fit the docs content model, and code snippets were added.
Configuration menu - View commit details
-
Copy full SHA for c8024c9 - Browse repository at this point
Copy the full SHA c8024c9View commit details -
[SRP][Volume]Multiple fixes for being able to properly perform reset
Fix [UUM-77760](https://jira.unity3d.com/browse/UUM-77760) and additional issue around reset of default VolumeProfile: - Fixed Reset attempt crash when resetting for pipeline not in use - Fixed Reset nullifying when resetting for pipeline not in use instead of set back default values - Fixed additional separators for HDRP version due to LookDev volume To fix all of this, UITK conversion of the ImGUI VolumeProfile foldout field is done here. Each SRPGraphicsSettings (URP, HDRP) have a Reset implementation to not nullify anymore. On URP side, for the Reset to work, introduction of a new editor resource that load a default profile from package in Editor. The default vlume used is the one produced in the 3D template.
Configuration menu - View commit details
-
Copy full SHA for 9e0d2d1 - Browse repository at this point
Copy the full SHA 9e0d2d1View commit details -
[VFX] Update URP test suite to use Render Graph
The VFX_URP test suite is still using the "Compatibilty Mode" i.e. not using Render Graph. This PR modifies the global settings to enable Render Graph. It also fixes some tests that failed when switching to RG. List of changes made to make the tests pass : - Add SSAO renderer feature to the URP Decal Deferred renderer. (c.f. https://jira.unity3d.com/browse/UUM-84921) - Enable Multi-threaded rendering on Switch (c.f. https://jira.unity3d.com/browse/UUM-84896) - Update the Render Graph API used in the custom scriptable feature `OutputTextureFeature.cs`
Configuration menu - View commit details
-
Copy full SHA for 5c9bb5b - Browse repository at this point
Copy the full SHA 5c9bb5bView commit details -
[HDRP] Add limitations to pathtracing documentation page
Add limitations to pathtracing documentation page
Configuration menu - View commit details
-
Copy full SHA for c742d0d - Browse repository at this point
Copy the full SHA c742d0dView commit details
Commits on Oct 25, 2024
-
[6000.1][UUM-82787] Fix Rendergraph 2D shadow pass to remove low leve…
…l light pass Fix UUM-82787
Configuration menu - View commit details
-
Copy full SHA for 688f79e - Browse repository at this point
Copy the full SHA 688f79eView commit details -
Fix division by 0, and sphere tile range calculation for forward plus.
This PR fixes a an error in tiling job calculations for URP Forward+ renderer. Tiling job calculates an intersection between an x-z plane and the light volume to determine the range of tiles that the light affects. In the cases where this range falls completely outside of the screen it was incorrectly clamping it to screen boundaries. A previous fix was added for the 'cone' section of spotlight type lights. However the issue also manifests itself in point lights, reflection probes and the cap / 'sphere' section of spotlights. Screenshot of issue for this Jira ticket: <img width="1167" alt="bug" src="https://media.github.cds.internal.unity3d.com/user/760/files/dcd12a08-b35b-4b7e-84d5-f9f2c4017620"> Fixed in this PR: ![image](https://media.github.cds.internal.unity3d.com/user/760/files/d42f9f47-68dd-47b3-aa12-3aaa737ad019) Light complexity view where the issue can be seen in the 1st and last tile columns (different camera view): <img width="1166" alt="bugcomplexity" src="https://media.github.cds.internal.unity3d.com/user/760/files/0ed42b26-70c9-409c-bd78-c674f275e143"> Correct light complexity after this PR: <img width="1165" alt="bugfixcomplexity" src="https://media.github.cds.internal.unity3d.com/user/760/files/c1bafbdd-c1bd-4afc-ab29-1f1961df803d">
Configuration menu - View commit details
-
Copy full SHA for 6c2b3ab - Browse repository at this point
Copy the full SHA 6c2b3abView commit details -
Update the URP 6 index page to clarify that the site contains API documentation, but the manual pages have moved. Jira ticket: https://jira.unity3d.com/browse/DOCG-6191
Configuration menu - View commit details
-
Copy full SHA for 24af3ab - Browse repository at this point
Copy the full SHA 24af3abView commit details
Commits on Oct 26, 2024
-
[UUM-78849] Add an option to include Custom Function Node source usin…
…g #include_with_pragmas https://jira.unity3d.com/browse/UUM-78849 This PR addresses the issue by: - Defaulting the behavior to `#include_with_pragmas` to restore Shader Graph's previous behavior - Adding a toggle to choose between `#include` and `#include_with_pragmas` on Custom Function Nodes
Configuration menu - View commit details
-
Copy full SHA for dced216 - Browse repository at this point
Copy the full SHA dced216View commit details -
Fix STP on GLCore Rendering Target
This PR fixes the allowed renderer list in STP's shader to allow it target GLCore since it's possible to support on that renderer. This PR also fixes a visual GLCore specific visual issue in STP relating to reversed Z behavior.
Configuration menu - View commit details
-
Copy full SHA for 55e30d4 - Browse repository at this point
Copy the full SHA 55e30d4View commit details -
[UUM-82376] Disabling ShowHideColumns_DoesNotLeak [UUM-85551] Disabling AddingCircularDependencyGivesError_BetweenTwoFiles [UUM-85648] Disabling 270_ScreenSpace_UI_Overlay
Configuration menu - View commit details
-
Copy full SHA for 5414137 - Browse repository at this point
Copy the full SHA 5414137View commit details -
Packages/[email protected]/manual/Water…
Add "The **Volume Depth** property is only available in Ocean water body types, so this feature is limited to underwater views of infinite Ocean surfaces."
Configuration menu - View commit details
-
Copy full SHA for 8f132f4 - Browse repository at this point
Copy the full SHA 8f132f4View commit details
Commits on Oct 28, 2024
-
[UUM-83764] Fix Game View flipping upside down when using HDR Debug Mode
UUM-83764 In the Frame Debugger, the flip occurs in the RG_FinalBlit pass. The flip happens when blitting from the render texture to the back buffer. This does not apply to HDR debug views that render to DebugScreenTexture. FinalBlitSettings.resolveToDebugScreen is defined but not set. Added the missing setting.
Configuration menu - View commit details
-
Copy full SHA for 2d60034 - Browse repository at this point
Copy the full SHA 2d60034View commit details -
[HDRP] Add rolling wave sample scene to water sample
Following this PR : https://github.cds.internal.unity3d.com/unity/unity/pull/52584 https://media.github.cds.internal.unity3d.com/user/1764/files/8365e966-618c-41d8-a7f2-ffd7babc730b We wanted to give at least one example on how to setup properly a rolling wave given that it's the main reason of this fix. This is exactly what this PR does, basically showing one way starting from a modeled mesh in blender and baking that mesh deformation into a texture to be able to read it in the shader graph.
Configuration menu - View commit details
-
Copy full SHA for 16a24ca - Browse repository at this point
Copy the full SHA 16a24caView commit details -
Fix downsampled SSAO not using the correct resolution when the origin…
…al resolution is odd Fixed black border artifact when using DLSS at certain resolution. The issue is that DRS causes the camera to have odd resolutions which the downsampled SSAO algorithm didn't handled well.
Configuration menu - View commit details
-
Copy full SHA for 6f499ef - Browse repository at this point
Copy the full SHA 6f499efView commit details -
Remove vector truncation warning for SSAO
Fix shader warnings in URP ScreenSpaceAmbientOcclusion.shader. > Shader warning in 'Hidden/Universal Render Pipeline/ScreenSpaceAmbientOcclusion': implicit truncation of vector type at Packages/com.unity.render-pipelines.universal/Shaders/Utils/ScreenSpaceAmbientOcclusion.shader(211) (on metal) ``` half4 FragGaussianAfterOpaque(Varyings input) : SV_Target { half ao = VerticalGaussianBlur(input); return half4(0.0, 0.0, 0.0, ao); } ``` VerticalGaussianBlur() returns `half4(ao, ao, ao, 1)` so the fix is to simply pick the r component. ``` half4 FragGaussianAfterOpaque(Varyings input) : SV_Target { half ao = VerticalGaussianBlur(input).r; return half4(0.0, 0.0, 0.0, ao); } ```
Configuration menu - View commit details
-
Copy full SHA for ab698f6 - Browse repository at this point
Copy the full SHA ab698f6View commit details
Commits on Oct 29, 2024
-
Projects with per-frame adjustments to certain parameters aren’t comp…
…atible with multi-frame rendering Move the Limitations section to the top of the https://docs.unity3d.com/Packages/[email protected]/manual/rendering-understand-multiframe-rendering.html page. Fix feedback ticket https://jira.unity3d.com/browse/DOCG-4702
Configuration menu - View commit details
-
Copy full SHA for 9a4152d - Browse repository at this point
Copy the full SHA 9a4152dView commit details -
[HDRP] Fix shaders warning in console when building
Fixing warnings when building a project.
Configuration menu - View commit details
-
Copy full SHA for 34411b3 - Browse repository at this point
Copy the full SHA 34411b3View commit details -
[URP][Unity 6.1] Minor code cleanup of MainLightShadowCasterPass (UUM…
…-85883) Fixes [UUM-85883](https://jira.unity3d.com/browse/UUM-85883). Also does some minor code cleanup of variables used for main light shadows.
Configuration menu - View commit details
-
Copy full SHA for b4cc00e - Browse repository at this point
Copy the full SHA b4cc00eView commit details
Commits on Oct 30, 2024
-
[Render Graph Viewer]Minor fixes on side panels
Fixing issues on the side panel of the Render Graph Viewer.
Configuration menu - View commit details
-
Copy full SHA for 2413c43 - Browse repository at this point
Copy the full SHA 2413c43View commit details -
Mark a shader graph dirty when 'Support VFX Graph' is toggled
Mark a shader graph dirty when toggling some checkboxes in its Graph Settings. - [URP] 'Support VFX Graph' checkbox - [HDRP] 'Support VFX Graph' checkbox - [HDRP] 'Support High Quality Line Rendering' checkbox
Configuration menu - View commit details
-
Copy full SHA for a900239 - Browse repository at this point
Copy the full SHA a900239View commit details
Commits on Oct 31, 2024
-
[UUM-84980] Fix wrong SSR when using a shader graph with a clear coat…
… value of 0 Jira : [UUM-84980](https://jira.unity3d.com/browse/UUM-84980) **Short Description:** When 'Clear Coat'(Surface Option) is activated in the Shader Graph, _MATERIAL_FEATURE_CLEAR_COAT is enabled regardless of the actual Clear Coat value. In this case, if the coatMask value is 0 in the EvaluateBSDF_ScreenSpaceReflection() of Lit.hlsl, there is an issue with specular calculation (no problems arise with small values such as 0.001 or 0.00001). Therefore, I resolve this issue by handling the Clear Coat calculation even when the value is 0. **Long Description:** - When 'Clear Coat'(Surface Option) is activated and the clearCoat value is 0 in the shader graph, the ssrLighting value in EvaluateBSDF_ScreenSpaceReflection() is not zero. - For HDRP/Lit with a 'clear coat' value of 0, the ssrLighting value is 0, 0, 0, 0. (Therefore, no issue occurs) - In the 'Render SSR' pass, during the 'ScreenSpaceReflectionsTracing' call, the rays are killed at the killRay step for HDRP/Lit, but they pass through in the shader graph. - This issue arises due to different normalData.perceptualRoughness values, which are computed in the ForwardDepthPrepass. - During the ForwardDepthPrepass when calculating normalData for each Object, the value changes depending on whether the _MATERIAL_FEATURE_CLEAR_COAT keyword is enabled. - For HDRP/Lit, in LitGUI.cs, the _MATERIAL_FEATURE_CLEAR_COAT is disabled when the clear coat value is 0, but in the shader graph, the keyword is enabled based on the 'Clear Coat'(Surface Option) regardless of the actual Clear Coat value. - Due to the nature of the shader graph, accessing the 'Clear Coat' value of the Fragment Node directly is difficult, and the variable name connected to the Clear Coat value can be set differently for each user, making it challenging to check if the Clear Coat value is 0 in ShaderGraphAPI.cs. (See the code below for reference) ``` float _Property_622a98e8ad5742088e5c548ea3797750_Out_0_Float = _Coat; surface.CoatMask = _Property_622a98e8ad5742088e5c548ea3797750_Out_0_Float; ``` - Therefore, I modified EvaluateBSDF_ScreenSpaceReflection() in Lit.hlsl.
Configuration menu - View commit details
-
Copy full SHA for d60a635 - Browse repository at this point
Copy the full SHA d60a635View commit details -
[HDRP] Improve water decal workflow for older shapes (box, sphere, bo…
…w.. etc) as Foam Generator and Water Deformers Following the Water Decal improvement in Unity 6, we handled the migration of old foam generators and water deformers properly by converting them to a shader graph. However, users starting in Unity 6 don't have this possibility (to start from the migration shader graph), so following the pattern in the custom pass material added by this PR (#46391), I improved the workflow allowing users to either create a new blank water decal or start from the deformer and foam migration shader graph to get the default shapes that was there before U6 (box, sphere, bow.. etc) Before: https://media.github.cds.internal.unity3d.com/user/1764/files/fe721506-6342-4e21-a7f1-5b515873db12 After: (Empty water decal is the same path as the "new" button before) https://media.github.cds.internal.unity3d.com/user/1764/files/de95d1b1-9dfc-47d0-9ef9-e1dacbbf5eb2
Configuration menu - View commit details
-
Copy full SHA for 43973a4 - Browse repository at this point
Copy the full SHA 43973a4View commit details
Commits on Nov 1, 2024
-
Minor docs fixes from feedback tickets
Minor docs fixes from the following tickets: - https://jira.unity3d.com/browse/DOCG-6217 - https://jira.unity3d.com/browse/DOCG-6218 - https://jira.unity3d.com/browse/DOCG-6228 - https://jira.unity3d.com/browse/DOCG-6253 - https://jira.unity3d.com/browse/DOCG-6232
Configuration menu - View commit details
-
Copy full SHA for ee86d1a - Browse repository at this point
Copy the full SHA ee86d1aView commit details