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 #7453
Internal/master #7453
Commits on May 11, 2022
-
URP RenderGraph foundation work (v2)
Jira: https://jira.unity3d.com/browse/URP-1370 RND Jira: https://jira.unity3d.com/browse/RND-175 This PR prepares the ground for the URP RenderGraph work: - Added an hidden option to toggle the RenderGraph render path (use the RENDER_GRAPH_ENABLED to enable the checkbox in the UI) - All the passes, except the post processing ones, have been refactored and ported to RenderGraph. All the rendering code was moved into static functions so it can be called from both the current SRP path and the new RenderGraph path. As part of the refactoring, all the SetRenderTarget code has been moved out of the shared static function (since RenderGraph will take care of that), and is called directly in the SRP Execute(). - Added the infrastructure for the RenderGraph render path, this provides new base methods for the ScriptableRenderers to override - UniversalRendererRenderGraph provides a base implementation for the RenderGraph path of the UniversalRenderer. NOTE: this file is currently containing all passes scheduled with no optimizations or culling, since it is the current basic frame used for porting passes. All this code is totally hidden from users, not possible to enable (the UI is hidden), and it is just used by the development team to keep working on rebuilding the full URP frame. So it doesn't need testing since it is work in progress and not final. The main goals of this PR are: to provide the (hidden) render graph render path, to refactor all basic internal passes to be "RenderGraph friendly" without changing any of their functionality NOTE TO QA: the RenderGraph path shouldn't be tested since it still doesn't provide the same functionality as the old path, since the work is not complete yet. It is very important to test the "old" non RenderGraph path to make sure that all the refactoring didn't change any of the functionality or the results of the existing passes.
-
[URP] Case 1403640 Render Objects Pass mask fix
fix for https://fogbugz.unity3d.com/f/cases/1403640 The RenderObjectsPass didn't set up properly the target attachments and relied on the assumption that the previous passes would set them up correctly. However since the post processing passes don't use the depth attachment and set up only color, this caused issues with missing depth stencil attachment when injecting the pass after post processing. This PR sets up explicitly the RenderObjectsPass color and depth stencil attachments.
-
Add explicit texture and sampler precision support for DXC (a.k.a. mo…
…bile texture/sampler precision) (v2) POI link: https://jira.unity3d.com/browse/RND-385 Epic link: https://jira.unity3d.com/browse/QOL-123 This PR adds support for generating half/relaxed precision texture/sampler resources in the final platform code with DXC which is relevant on mobile. **Technical details This is implemented in the frontend i.e. via preprocessor defines and with an extra HLSL "postprocessing" step that is done manually afterward (postprocessing only needs to be done for mobile targets) **From the users perspective "Compile and show code" with the "Preprocess only" checkmark will: *On mobile targets: -Show replacement of the "_half" and "_float" postfixes with "_h" and "_f" respectively on "sampler2D" and similar legacy types -Show additions of "_h" postfixes on "sampler2D" and similar legacy types (except for "_CameraDepthTexture" and "_LastCameraDepthTexture" resource declarations it will be '_f") -Show "Texture2D" and "Texture2D_half" (and other separate texture types) getting "< min16float4 >" postfixes *On desktop targets: -Show some additions of "_f" postfixes on "sampler2D" and similar legacy types **DXC currently has 2 mobile backends, they will be affected as follow: 1) Vulkan - will get additional RelaxedPrecision decorations for the "< min16float4 >" textures and their downstream results in the SPIR-V 2) Metal - will not be affected as SPIRV-Cross does not translate RelaxedPrecision decorations on textures into "texture2d< half >" as HLSLcc does
-
[RPW]Adding new API to ShaderData to obtain the Tags from the Seriali…
- Improve `ShaderUtil `API to fetch data from the Serialized Shader. - Fix `GetShaderData().GetSubShader(int)` to obtain the `IntShader `and not the `SerializedShader`.
-
Fixed water simulation not stopping when entering pause mode in the u…
…nity editor (case 1400668). https://fogbugz.unity3d.com/f/cases/1400668/ Currently the simulation doesn't stop when hitting the pause button while being in the editor. This pr fixes the behavior.
-
https://jira.unity3d.com/browse/VFXG-227 The goal is to make the automatic tests run faster. Ultimately, we would like to prevent Unity from stealing the focus when running those tests locally.
-
Ported debug color monitors to HDRP (Vectorscope, Waveform & Parade) …
…(v2) Ported the [old built-in color monitors](https://docs.unity3d.com/2018.3/Documentation/Manual/PostProcessing-Monitors.html) (Vectorscope, Waveform and parade) to HDRP under the Render Pipeline Debug window in the Rendering panel. They are now displayed on top of the scene/game view. Docs have been ported from the link above too. 
-
[URP] Depth to Store action for Opaques/Transparents
fix for case 1404157 Previously we would discard depth for both of these passes which leads to bad scenarios on multiple camera scenarios. This PR adds a check for that and stores if it's not the last camera in stack
-
[URP] Case 1405209 recorder capture fix
Fixes these issues: https://fogbugz.unity3d.com/f/cases/1405209/ https://fogbugz.unity3d.com/f/cases/1405224/ Introducing the swap buffer system caused a recorder regression, since the recorder source texture wasn't set up properly at Setup time. Because of the dynamic nature of the swap buffer, the capture pass source texture needs to be setup at Execute time so we are sure we are accessing the correct swap buffer.
-
[SG][bugfix 1400418] Set the default value of Normalize Output toggle…
… in Transform Node to true fixing https://fogbugz.unity3d.com/f/cases/1400418/
-
[Bug] Rename refraction model box as planar
[Bug] Rename refraction model box as planar
-
Changed the way HDRP volumetric clouds presets are handeled to allow …
…for blending. This PR changes the way presets are described for three reasons: - Allow the user to blending between various presets. - Start from a preset and alter it slightly. - Improving the usage of the samples to increase the quality at equivalent cost. This PR also changes the actual presets and alters the aplitude distortion. https://user-images.githubusercontent.com/42026998/154358834-bb0d46d5-3a5e-43e4-ac70-44a3d62c61fd.mp4 https://user-images.githubusercontent.com/42026998/154358882-5ed4e19d-a449-4fcf-9920-a30a73328143.mp4
-
Update images of DLSS tests due to new drivers
Update of DLSS test images for driver update. Jira: https://jira.unity3d.com/browse/ANT-592
-
graphics/shadersystem/fix_case_1421417_incorrect_stripping_when_combi…
…ning_stages to trunk TL DR; Fix URP shader stripping for graphics APIs that combine several shader stages together - Vulkan, Metal, GL and Switch (case 1421417). We got a report that Editor crashes when building Gigaya if Vulkan is in the graphics API list. Turns out it was compiling too many variants (over 400K) for Vulkan while needing only 12K for D3D. The underlying issue is that Vulkan is combining vertex and fragment stages together (as do GL and Switch) and stripping logic didn't get the correct information about keywords. This PR fixes the stripping in URP.
-
[URP] Case 1397612 SimpleLit shader instancing fix on SM 2.0
fix for: https://fogbugz.unity3d.com/f/cases/1397612/ The SM 2.0 shaders were missing the multi_compile_instancing pragma. This PR adds support to GPU instancing on those platforms.
-
[YAMATO] PS5 Raytracing tests update
The goal of this PR is to make DXR PS5 tests green: - Updated screenshots for all tests with minor noise difference compared to PC - Updated screenshots for all tests containing both supported and unsupported features (because of multi bounce not being supported) - Disabled all tests only for unsupported feature - Disabled failing tests that need investigation: Failing tests list is in this case: https://fogbugz.unity3d.com/f/cases/1423476/ https://unity-ci.cds.internal.unity3d.com/job/13356273/dependency-graph https://unity-ci.cds.internal.unity3d.com/job/13464627/dependency-graph
-
[VFX] Skinned Mesh Sampling Out of Experimental
This PR adds missing feature and integration to get the Skinned Mesh Sampling out of experimental in Visual Effect Graph.  _Short version_ - Remove experimental on all operator/block relative to SMR - Add root transform access - Add access to previous skin mesh data (to compute velocity) POI: https://jira.unity3d.com/browse/RND-175 EPIC: https://jira.unity3d.com/browse/VFXG-150 Task: https://jira.unity3d.com/browse/VFXG-194
-
- Bring back the callback to notify when a shader variant has been processed. - Fixing this[ yamato job](https://yamato-artifactviewer.prd.cds.internal.unity3d.com/bfd11010-3cc0-495c-aa6b-1d019a56c210%2FTest_Report_1%2FUtrTestReport1/TestReport.html )
Commits on May 17, 2022
-
[HDRP][Path Tracing] Replaced recursive continuation rays with loop i…
…n ray generation (v3) Although user-wise there should not be too much visible change (if at all), other than slightly improved performance (in the 5-10% range after early tests), this PR removes the recursion from the path tracing, with no more continuation rays shot from closesthit(). This allow us to use an arbitrary number of bounces (still caped to 32 in the UI, but could be increased to any value now), without adding to the recursion level. This also makes aspects of the code cleaner and easier to read (no more do we have to deal with different miss() functions, for instance). This will also hopefully open the door to other optimizations, like returning a BSDFData-like payload from closesthit() and do all shading computations in the raygen(), or even return a materialID and compute BSDFData or equivalent in the raygen() too. Note that this PR existed on the public repository already, and was validated by all reviewers, but slightly too late to be merged before the repo change: #7090
-
Light Batching Debugger for debugging layers batched with lights and …
…shadow casters (v3) POI: https://jira.unity3d.com/browse/RND-175 EPIC: https://jira.unity3d.com/browse/D2D-2838 TASK: https://jira.unity3d.com/browse/D2D-1667 Light Batching Debugger is a new tool for users using the 2D Renderer to quickly and iteratively debug how the lights and shadows are batched according to their sorting layers in the scene. 
-
[VFX] Instancing: First iteration (v2)
VFX Instancing is a feature for VFX Graph that allows batching VisualEffects in memory to perform some operations on them at the same time. This is the first iteration of the feature, which we consider incomplete at the moment. One or more PRs related to this will need to land before 2022.2. * How it works In general, the process is automatic and VisualEffects will be batched together if the feature is enabled. We included some options to control this behavior: - The feature can be globally disabled in Editor in developer mode, using an option under "Preferences> Visual Effects> Instancing enabled". - Each VFX graph asset has an option in the inspector to control how the VFX of that asset type are handled. That option allows to disable instancing for that particular asset, to automatically decide the batch size(default), or to manually specify how many VFX can be per batch. - Once the VFX is created, the VFX Renderer allows to disable only the rendering part of the feature Some VisualEffect assets will have instancing forced to disabled if: - A particle system has an output node that is transparent. - Uses sorting. - Use any ShaderGraph material. - Has particle strips - Uses output events - Uses GPU events - Has Mesh outputs - Exposes variables that are Gradient, Curve, Texture or GraphicsBuffer * What needs to be tested: The feature involved an important refactor, so any VFX can be affected, even if instancing is disabled. We have a good test coverage but it would need additional general testing in case we are missing something. Being a first iteration, we are mostly interested in stability. For the next iteration we will test more performance and usability. * JIRA: https://jira.unity3d.com/browse/VFXG-182 * Design document: https://docs.google.com/document/d/1WmsOZp1zd3Gl1u7HatiEh-AgCyTp90a_O1RRJPAD9v4 * Short technical high-level presentation on changes to the structure: Slides: https://docs.google.com/presentation/d/1Ddmfk0Gbn0gSt-DV1PZcPw_qhN_MkH3sIekGuiwBEHk/edit?usp=sharing
-
Fixed an issue preventing delayed properties from being saved
https://fogbugz.unity3d.com/f/cases/1422686/ How to reproduce: 1. Create a new VFX Graph 2. Type any number in the capacity 3. Press save button in the toolbar or CTRL + S Expected result: Capacity value is saved Actual result: Capacity reset [Before]  {After] 
-
Added renderer bounds access in ShaderGraph
Migration of #7179 Add access to the renderer bounds in shadergraph through the object node.  Jira: https://jira.unity3d.com/browse/HDRP-114
-
platform/gamecore/hdrp-dxr to trunk
To add ray tracing support for XboxOne Series platforms. Runtime support for the XboxOne raytracing has already landed in trunk Raytracing for Xbox is included in https://jira.unity3d.com/browse/RND-350
-
Finding a view’s projection type during BRG culling (v2)
[RFC: Finding a view’s projection type during BRG culling](https://docs.google.com/document/d/1T0VlP0n7keHPVXmLHuXnJrZJ3-VnKCi1zwzHkhOSHQI/edit?usp=sharing) The BatchRenderGroup (BRG) API offers a code path for culling that is different from the way most other things in Unity are culled.  In this code path, culling is done in C# and hence is scriptable by the user. Without the BRG, culling is done in C++ and is not scriptable. In the BRG API, we pass in a culling matrix for each view being culled. When doing culling in C#, the user will want to know what kind of projection that view has. This PR adds an API to do so. The essence of this PR is adding this member to the context struct: ``` struct BatchCullingContext { // Add this member variable BatchCullingProjectionType projectionType; } ``` The rest of the code is to allow SRPs to provide this information to the engine. This is needed because we cannot infer projection type purely based on the light's type. E.g. even if spot lights usually have perspective projection, HDRP's _box-shaped_ spot lights are orthographic.
-
3rd iteration of https://ono.unity3d.com/unity/unity/pull-request/140981/_/graphics/bump-packages-to-14.0.3 :'(, had to redo it once more because of ghost merge conflicts and impossible clean trunk rebase from the git branch. The packages are bumped from 14.0.2 to 14.0.3. A new section was added to the changelogs, they will need to be actually filled _after_ this PR lands, as we don't know yet what will make it to 14.0.3.
-
Collection of small bug fixes for HDRP: [Fix blend mode Label Field](https://github.cds.internal.unity3d.com/unity/unity/pull/9764) [Fixed a render error when disabling both movec and opaques.](https://github.cds.internal.unity3d.com/unity/unity/pull/9774) [Fixed a render graph error when opening a project with default lighting enabled and clouds in the scene.](https://github.cds.internal.unity3d.com/unity/unity/pull/9784) [Fix a NaN resulting from < 0 absorption coefficient in pathtraced hair.](https://github.cds.internal.unity3d.com/unity/unity/pull/9798) [Improve the default state of newly created Planar Reflection Probes](https://github.cds.internal.unity3d.com/unity/unity/pull/9799) [Fix Planar Probe Preview](https://github.cds.internal.unity3d.com/unity/unity/pull/9840) [Display warning for rt sss](https://github.cds.internal.unity3d.com/unity/unity/pull/9849) [[HDRP] Change refraction nodes display name](https://github.cds.internal.unity3d.com/unity/unity/pull/9851) [Fixed accumulation when shutter interval is zero](https://github.cds.internal.unity3d.com/unity/unity/pull/9871) [Adding initial stripping mechanism for shader graph interpolators](https://github.cds.internal.unity3d.com/unity/unity/pull/9896) [Try to further improve Depth of Field consistency across resolutions](https://github.cds.internal.unity3d.com/unity/unity/pull/9943) [Update accumulation example scripts in the documentation](https://github.cds.internal.unity3d.com/unity/unity/pull/10028) [Fixed custom post process not released correctly when switching HDRP asset](https://github.cds.internal.unity3d.com/unity/unity/pull/9951) [Fixed a render graph error when using Output AOV in non-dev builds](https://github.cds.internal.unity3d.com/unity/unity/pull/9931) [Add information about histogram based exposure and path tracing](https://github.cds.internal.unity3d.com/unity/unity/pull/10043) [SSS doc improvements](https://github.cds.internal.unity3d.com/unity/unity/pull/9777) https://unity-ci.cds.internal.unity3d.com/job/13637711/dependency-graph
-
[hdrp] Fix for includeForRaytracing, lightDimmer not working for HDAd…
…ditionalLightData Missing parameters from sim to renderer
-
Add support for skinned motion vectors in HDRP for DOTS (v3)
This PR enables a path for motion vectors in HDRP for skinned entities. It changes the code that is generated from the Compute Deform node in Shader Graph. Adds a path in MotionVector vertex shader when dots instancing and deformation defines are enabled. The previous positions are then overwritten by data from DOTS buffers. The function is behind the HAVE_MESH_MODIFICATION define inside HDRP. This is enabled by the SG node generation when position, normal or tangent is modified. This is always true for our path as we rely on our Compute Deform node. The Compute Deform node also guarantees that vertex ID is defined. Compute Deformation node now includes a file from entities graphics and adds a DOTS_DEFORMATION shader define. For now this is hidden behind a motion vector define because it changes the material property from uint to uint4. The file it includes contain the shader logic for applying the deformed vertex data. Linear Blend Skinning node uses ByteAdressBuffer instead of Structured. This is fixing an existing issue in DOTS Deformations code for LBS. Also removed old define to enable dots deformations which is no longer relevant. Note: This is a simpler version of the code implemented as a fix for this bug https://fogbugz.unity3d.com/f/cases/1296266/
Hedvig Axelsson committedMay 17, 2022 -
[URP] Rendering Debugger disable Depth priming
We currently disable a lot of stuff for Rendering Debugger, but not depth priming. To properly fix case 1379409 i am disabling depth priming as well (as depth prepass was already disabled, this won't affect anything)
-
Collection of small fixes for APV https://github.cds.internal.unity3d.com/unity/unity/pull/8859 https://github.cds.internal.unity3d.com/unity/unity/pull/8944 https://github.cds.internal.unity3d.com/unity/unity/pull/8959 https://github.cds.internal.unity3d.com/unity/unity/pull/8986 https://github.cds.internal.unity3d.com/unity/unity/pull/9074 https://github.cds.internal.unity3d.com/unity/unity/pull/9171 https://github.cds.internal.unity3d.com/unity/unity/pull/9202 https://github.cds.internal.unity3d.com/unity/unity/pull/9206 https://github.cds.internal.unity3d.com/unity/unity/pull/9209 https://github.cds.internal.unity3d.com/unity/unity/pull/9261 https://github.cds.internal.unity3d.com/unity/unity/pull/9291 https://github.cds.internal.unity3d.com/unity/unity/pull/9305 https://github.cds.internal.unity3d.com/unity/unity/pull/9338 https://github.cds.internal.unity3d.com/unity/unity/pull/9387 https://github.cds.internal.unity3d.com/unity/unity/pull/9432 https://github.cds.internal.unity3d.com/unity/unity/pull/9437 https://github.cds.internal.unity3d.com/unity/unity/pull/9455 https://github.cds.internal.unity3d.com/unity/unity/pull/9547 https://github.cds.internal.unity3d.com/unity/unity/pull/9660 https://github.cds.internal.unity3d.com/unity/unity/pull/9664 https://github.cds.internal.unity3d.com/unity/unity/pull/9689 https://github.cds.internal.unity3d.com/unity/unity/pull/9960 https://github.cds.internal.unity3d.com/unity/unity/pull/10322
-
[URP] Case 1418462: Improved fallback to single shadow cascade on GLES2
Fix for ISS case https://fogbugz.unity3d.com/f/cases/1418462/ We strip shadow cascade keywords from the lighting shaders on GLES2. This was not communicated to users and can cause confusion. This PR adds an info box under the shadow cascades settings, when targeting GLES2, notifying the users about the fallback to 1 cascade. It also makes sure that we fallback correctly to 1 cascade at runtime too, so that the shadows max distance is correctly taken into account.
-
Add "target" property in custom pass drawer
Expose the custom pass instance to the custom pass drawer API. https://unity.slack.com/archives/C6Y79CZM0/p1651327262595729 jira: https://jira.unity3d.com/browse/RND-159
-
Graphics/hd/fullscreen samples
This is a first version for the new samples of the already merged feature Fullscreen Shadergraph for HDRP.
-
[VFX][Feature] Six-way smoke lighting
This PR creates a new _Material Type_ for the VFX Lit Output of HDRP : SixWaySmokeLit. This feature gives the user the ability to achieve visually realistic smoke effects that react acurately to the lighting of the scene. Two textures, baked from an external DDC (e.g. Embergen, Houdini, Blender), store the smoke response to lights coming from 6 directions (Right, Top, Back, Left, Bottom, Front). At runtime, these values are interpolated depending on the relative position of the light source. This lighting model is integrated to the light loop of HDRP, so the smoke can be affected by all the different light types : - Point/Spot Light - Directional Light - Area Lights - Ambient Lighting (LPPV, APV) Additionally, there is an option to store the emission intensity of the smoke in the fourth channel of one of the textures. This intensity value can be remapped with a gradient to render flames. It is also possible to use a separate Emissive map that store RGB values. Old, but not out-dated presentation : https://docs.google.com/presentation/d/1Q-xgFFXLIu54AwzSXwhy57woOy1ghNIPv-anFzEaCTA/edit#slide=id.ga990b2f242_0_35 JIRA Link : https://jira.unity3d.com/browse/VFXG-225 
-
[HDRP][Path Tracing] Better match between rasterization and path trac…
…ing transparency Addresses https://fogbugz.unity3d.com/f/cases/1408034/ In short, these changes provide a better match between the transparent objects look in rasterization and path tracing, by following the following rules: Path Tracer should ignore normal mode and determine it depending on other properties. If the object is opaque: - Single sided: we do not change anything - Double sided: if set to mirror do not change anything, otherwise set to flip If the object is a NON-refractive transparent: - Single sided: we do not change anything - Double sided: if set to mirror do not change anything, otherwise set to flip If the object is a refractive transparent: - Single sided: we force the refractive mode to thin (5mm interface) - Double sided: - if the model used is box or sphere: force normal mode none - if the model used is thin: if set to mirror do not change anything, otherwise set to flip
-
[VFX] Janitoring (Timeline, Decal, SMR)
Three minor maintenance changes: - Update Timeline Asset: The actual issue is due to the cache server enabling (see this conversation, relative to https://github.cds.internal.unity3d.com/unity/ant-graphics-ci/pull/205) - Bonus: Provide more info about the cache server issue with more explicit throw exception. See changes in `VisualEffectActivationTrackMigration.cs`, it doesn't change the behavior but only throw earlier. - Bonus (bis): Add `Please Reimport.` message - Update 37_DecalTest (see this [conversation](https://unity.slack.com/archives/G1BTWN88Z/p1652251551258519) relative to https://github.cds.internal.unity3d.com/unity/unity/pull/8795), some update screenshot has been already done here https://github.cds.internal.unity3d.com/unity/unity/commit/a1fd096d7be12ed200c15d5ce33a25a0bfee3b05 by @adrien-tocqueville - Update wrong graph version of `007_MeshSampling_Animated.vfx` (missing update from https://github.cds.internal.unity3d.com/unity/unity/pull/9537 after conflict resolution), it prevents a log error during import.
-
shader replacement for SRP's (v3)
https://jira.unity3d.com/browse/RND-175 https://jira.unity3d.com/browse/GFXRPF-27 https://docs.google.com/document/d/1x8IqIut5iANYzZSbUpfZWeFn-HymlpbGsYEkj2vQo5Y/edit?usp=sharing In Built-in there is Camera.RenderWithShader(). For SRP's this functionality does not exist. This PR adds a replacement shader parameter to the DrawRenderers command. There is already an overrideMaterial available but there is a key distinction between overrideMaterial and replacementShader. overrideMaterial: override the material and all material properties. replacementShader: override the shader and keep all current properties and try to fit them to the replacement shader. This way users can access textures and properties originally on the renderer in their replacementShader. This is mainly useful for debug views or other effects that need to access things such as alpha cut-out textures. This PR also adds UI so this feature is available in the DrawObjects and DrawRenderers customPass and RenderFeature in HDRP and URP. https://drive.google.com/file/d/1kASDA2S95MijYMpihLT2sWQpzEj8wbiq/view?usp=sharing This feature is not yet supported by the SRPBatcher and BatchRendererGroups. This will be scheduled in the next release and has been added to our backlog for tracking purposes. https://jira.unity3d.com/browse/GFXRPF-40
Commits on May 23, 2022
-
Added vfx shadergraph compatibility with Sprite Subtargets (v2)
Able to use visual effect graph with 2D Sprite Lit, Custom Lit and Unlit Subtargets
-
[HDRP] Transmission mask support - better scattering distance control
https://jira.unity3d.com/browse/RND-159 * Transmission Mask When doing mixed materials, or a material atlas, it was previously not possible to mask transmission in some parts (actually you could put crazy high values in thickness texture but it's weird). For example for trees you only want transmission on leaves and not on the rest of the tree. added input in all lit shaders + lit/stacklit/fabric shadergraph to control transmission intensity. It's similar to subsurface mask, but it's only for transmission. Added graphic test for that  * Scattering distance Artist request - scattering distance was very hard to control because of broken picker, and it's actually not intuitive to put something HDR here | before | after (auto migrated) | | -- | -- | |  |  | * Added error box When no profile is assigned, added an error box explaining why the material is purple 
-
URP RTHandles P2 - Blitter (v2)
Migrating public Graphics PR: #7115 Jira: URP-1186 POI: https://jira.unity3d.com/browse/RND-175 The goal is to use Blitter when doing full screen draws with RTHandles internally in URP and to recommend it to our users. Blitter offers many advantages: * Blitter will use procedural draw where available and this allows us to remove many XR checks. * It automatically sets viewport on for scaled RTHandles and seamlessly does it inside of the vertex shader. * It doesn't use `cmd.Blit` which does not play well with XR * It is in SRP core and therefore is used in other SRPs. URP doesn't need a custom solution. * It does not use the DRAW_PRCEDURAL variant which will remove one shader variant from many full screen shaders This PR goes through URP and factors out all uses of full screen draws and `cmd.Blit` and replaces them with calls to Blitter. It also goes through all the affected shaders and makes use of the core package's blit vertex shader instead of URP's. Additionally, the following changes we done. * Many left-over uses of `cmd.GetTemporaryRT` render targets have been replaced by RTHandles. * Factor our 4 different implementations of final blit (final blit pass, post process pass (x2), SSAO) into one reusable function. * Fix to Blitter's dynamic scaling on RTHandles with scaling disabled. * Add Load and Store operations to Blitter. * Remove URP's full screen hlsl file.
-
Keep sticky notes when converting to block subgraph
https://fogbugz.unity3d.com/f/cases/1200121/ To Reproduce: 1. Create a new project 2. Create a new Visual Effects Graph 3. Create a Sticky Note in it 4. Select multiple elements using the selection box (click and drag), including some graph elements and the sticky note. 5. Right click and "Convert to Subgraph" Expected Result: Subgraph is created and the sticky note appears in the subgraph Actual result: Subgraph is created and the sticky note is deleted _Trying to subgraph this subgraph further throws a null reference exception. Once the main bug is fixed, this needs to be verified._
-
Fix incorrect behavior for the screen space ray traced shadows (case …
…1424996). This PR fixes two issues, a regression relative to the attribution of screen space shadow slots and the maximal slider position for the screen space shadows debug menu. https://fogbugz.unity3d.com/f/cases/1424996/
-
[VFX] Activation slots in blocks
This PR implements the activation ports in block to allow a better/more convenient way to enable/disable blocks with graph. Activation expressions can be evaluated on both CPU and GPU and works for spawner blocks. Also for compile time constant, an optimized path is used.  In addition to the core feature, this PR also: - Fixes some useless recompilation triggered when dragging an edge out of an output slot connected to some compilable system - Add bool <> uint, int, float casts - Optimize the reduction of logical expressions Fixed https://fogbugz.unity3d.com/f/cases/1428639/
-
FIx a zfighting issue with ray tracing effects (case 1425941).
This PR fixes some artifacts that happens when ray traced shadows are evaluated for a surface that is very far from the camera. This was also fixed for other ray tracing effects https://fogbugz.unity3d.com/f/cases/1425941/
-
https://fogbugz.unity3d.com/f/cases/1357622/ Apply fog when sampling sky texture for reflections. Doesn't apply volumetric fog. Currently, fog is applied in screenspace after rendering, so the sky env texture doesn't contain fog. SSR correctly reflects fog since it samples the rendered texture, but sampling the cubemap doesn't So we should apply fog between pixel position and skybox when sampling the sky to have a consistent look between reflections. But applying volumetric fog requires sampling the vbuffer which is kind of expensive Following screenshot have a black plane with smoothness = 1 SSR is enabled, which is why some part of the reflection looks correct | | Master | Branch | | ------------- | ------------- | ------------- | | Fog only |  |  | | Fog + Volumetric Fog |  |  |
-
[APV] Scenario Blending Improvements
https://jira.unity3d.com/browse/HDRP-222 Added None Option for scenario blending budget that disables blending  Also added lazy loading to prevent any resource allocation until scenario blending is used. There's no free up when unused, maybe we could add an option to request it from script, or unload when scene changes for example, but if a user decides to use blending at some point, he'll likely reuse it after so not sure it's useful. Disabled uploading to pool from regular streaming path when blending is enabled, so when cells are uploaded, they are always in the correct state. This requires to delay the update of brick indices to still reserve the spot in the pool, but avoid the data to be sampled by shaders (because they still contain garbage from the previous brick that was loaded there) Related to above, added option to prioritze a cell, so that newly loaded cells get taken care of quickly. Also doesn't allocate validity texture for scenario blending pool, and upload it only once, when the spot in the main pool is acquired. This is doable because validity doesn't change between two scenarios, as subdivion is the same Added a turnover rate parameter, to allow a percentage of the blending pool to be used for cells with low priority when the system is in a stable state. This ensures all cells get update from time to time. This is only available from script through variable `turnoverRate`, but putting it in a VolumeComponent would be a good idea i suppose GIFs below are with max one cell updated per frame. A script runs to continuously set the blending factor from 0 to 1 so there are always cells to blend. Not shown but on master, the behaviour is that only cells in the center (closer to camera) are blended because they have the best streaming score, and other cells never get a chance to update | Random | Sorted | | --| --| |  |  When "max number of cells to update per frame" is smaller, you can actually see the chunks updating with the sort method but not a big deal i think since they are close together in the scene
-
[RPW]SRP Smoke Tests Fix - Move from runtime to editor test assembly
Fix yamato SRP Smoke test job. On the PR:  On Nightly: 
-
This PR revamps the tiling math and algorithm used for URP Forward+, and makes it available for general use. This has far tighter bounds than previously, while keeping CPU usage reasonable. It also streamlines a number of things. Some algorithmic explanations in TDD, but feel free to throw me any questions :) https://docs.google.com/document/d/1-NA5XUqAboVAB4fsMfV9O3eQOrC0RKOvPT9_SGjgwMc/edit#heading=h.wo67r6cr8k6c Part of the following initiatives: https://jira.unity3d.com/browse/RND-406 https://jira.unity3d.com/browse/RND-177
-
Added documentation and fixed invalid <inheritdoc/> in URPAsset
The purpose of this PR is to fix the invalid use of <inheritdoc/> which refers to documentation outside the URP package which results in not fetchable documentation that isn't tracked by the FindMissingDoc.exe tool.
-
[URP] Automatic Alpha-To-Coverage Support
This change attempts to automatically enable alpha-to-coverage functionality whenever alpha clipping is in use on opaque materials in URP. Since this functionality relies on MSAA, it is only active for forward passes. With this change, alpha clipped geometry such as foliage should see improved visual quality when MSAA is enabled. No MSAA:  4x MSAA:  No MSAA (5x Zoom):  4x MSAA (5x Zoom): 
-
Disabling DLSS vulkan tests temporarily until the QV machines upgrade
Disable DLSS vulkan tests temporarily until QV machines upgrade. Jira: https://jira.unity3d.com/browse/ANT-592
-
[Docs] Add path tracing denoise in what's new for HDRP14
Add path tracing denoise in what's new for HDRP 14 
-
Fix the bake diffuse lighting not affeced by the diffuse color (case …
…1425814). This PR fixes the fact that the ambient probe is not tinted by the diffuse color in ray tracing effects. Somehow this has been going on for a while undetected. Had to update some screenshots. https://fogbugz.unity3d.com/f/cases/1425814/