Skip to content

[HDRP] Physically based depth of field optimizations #5996

New issue

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

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

Already on GitHub? Sign in to your account

Merged
merged 23 commits into from
Nov 5, 2021

Conversation

pmavridis
Copy link
Contributor

@pmavridis pmavridis commented Oct 12, 2021

Purpose of this PR

The purpose of this PR is to optimize the performance of the physically based DOF implementation. In particular, DOF regions that are out-of-focus are now computed at lower resolution, while in-focus regions retain the full resolution. For many scenes this results in significant speedup, without any visible reduction in image quality.

It the following image:

  • green correspond to perfectly focused tiles (CoC < 1 pixel). These are not processed at all by DoF.
  • blue correspond to "fast tiles" (CoC > 2.5 pixels), these are processed at half res since they are "blurry" by definition.
  • red corresponds to tiles with both in-focus and out-of-focus regions. These are processed at full res, as before.

image
So the speedup comes from the green and blue regions.

And here is how the image looks (note that there areno discontinuities in tile boundaries)
image

The PR also switches to a faster noise function, since the previous blue noise one was causing a measurable perf drop.
(Using defines in the code we can switch between 4 different noise functions, I enabled the fastest one)


Testing status

  • I have run the graphics tests and updated the reference images related to this mode of DoF (everything looks ok)
  • I have tested the optimized pb DoF when moving around in the template scene.

Performance numbers

Using these settings:

  • With optimizations, total pp time: ~3.8 ms
  • Without the optimizations, total pp time: ~10.3ms

Measured with the Rendering Debugger while in play mode using 7 near/far samples (which is rather high):
image


Comments to reviewers

Many DoF-related functions where moved from the DoFGather shader to a new DoFGatherUtils file, in order to be shared with the new combine shader. The functions themselves did not change in a significant way.

@pmavridis pmavridis added the HDRP label Oct 12, 2021
@github-actions
Copy link

github-actions bot commented Oct 12, 2021

Hi! This comment will help you figure out which jobs to run before merging your PR. The suggestions are dynamic based on what files you have changed.
Link to Yamato: https://unity-ci.cds.internal.unity3d.com/project/902/
Search for your PR branch using the search bar at the top, then add the following segment(s) to the end of the URL (you may need multiple tabs depending on how many packages you change)

HDRP
/jobDefinition/.yamato%2Fall-hdrp.yml%23PR_HDRP_trunk
With changes to HDRP packages, you should also run
/jobDefinition/.yamato%2Fall-lightmapping.yml%23PR_Lightmapping_trunk

SRP Core
You could run ABV on your branch before merging your PR, but it will start A LOT of jobs. Please be responsible about it and run it only when you feel the PR is ready:
/jobDefinition/.yamato%252F_abv.yml%2523all_project_ci_trunk
Be aware that any modifications to the Core package impacts everyone in the Graphics repo so please discuss the PR with your lead.

Depending on the scope of your PR, you may need to run more jobs than what has been suggested. Please speak to your lead or a Graphics SDET (#devs-graphics-automation) if you are unsure.

Copy link
Contributor

@kecho kecho left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let me know what you think of the 3 things.
Feel free to rebute them if you have already tried them, then ill approve the review.
Otherwise fantastic job!

cmd.DispatchCompute(cs, kernel, scaledWidth, scaledHeight, dofParameters.camera.viewCount);
}

if (isScaled)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wouldnt this be true always? seams like you set parameters.resolution = DepthOfFieldResolution.Half;
Let me know if I missed something

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

True. It was useful for testing during development, but it should not be there in the final version, so removed.

PositionInputs posInputs = GetPositionInput(float2(dispatchThreadId.xy), _PostProcessScreenSize.zw, uint2(GROUP_RES, GROUP_RES));

SampleData centerSample;
centerSample.color = GetColorSample(posInputs.positionSS, 0);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Have you tried consuming the color exclusively inside the SLOW_INFOCUS_TILE case? If you do it here, color will likely always be sampled. regardless of tile size, which can be costly.
Its possible the compiler is doing the right thing, but i dont trust the compiler :D This could mean extra gains. LMK what you think.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For what I can see the sample is needed for anything but the FAST_DEFOCUS_TILE.

I expect the compiler to do a decent job here, but indeed worth being explicit.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Made this super-explicit in the last version ;)

if (ResScale != 1.0 && tileClass != FAST_DEFOCUS_TILE)
{
// Early exit: these tiles will be computed at full res in the combine pass
_OutputTexture[COORD_TEXTURE2D_X(posInputs.positionSS)] = (CTYPE)centerSample.color;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seams like this is never sampled because its gonna be a slow tile. Thus, means you dont have to write anything to it.
If you want it jsut for debugging purposes, id say just wrap this wtih a debug permutation.
Otherwise writting to this UAV will be expensive. If you dont write to it, this means more gains!

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As discussed on slack, we need some extra work to do that, but yes, it's a good idea for future improvement.
I'm leaving it as it is for now.

break;
}

//DebugTiles(posInputs.positionSS, centerSample.CoC, output.xyz);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we want to keep this here for development or is it a leftover? If the former I'd add a comment on top

float2 uv = ClampAndScaleUVPostProcessTextureForPoint((posInputs.positionSS + 0.5) * _PostProcessScreenSize.zw);

CTYPE output = centerSample.color;
switch (GetTileClass(posInputs.positionSS, centerSample.CoC))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this compiled to a scalar branch?

I assume the tiles are aligned to group size? If so this evaluate always to the same thing for the whole warp. If that's the case and compiler doesn't do that explicitly, the LoadTileData could be scalar load and be faster

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am not sure there'd be a win here since 2 out of 3 cases are really simple, but worth keeping in mind if the cases become complex that this looks like a good candidate for indirect dispatching. (I wouldn't bother now for what it is)

}

// Jenkins's "one at a time" hash function
uint jenkinsHash(uint x) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We have this in Random.hlsl

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Generally I think lots of these functions can be moved to that file

#endif

// 32-bit Xorshift random number generator
uint xorshift(inout uint rngState)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lots of functions here are in lower case, usually functions we keep with Upper case

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed unused stuff, fixed the case, moved some stuff in Random.hlsl


// PCG random numbers generator
// Source: "Hash Functions for GPU Rendering" by Jarzynski & Olano
uint4 pcg4d(uint4 v)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Am I mistaken or we never use anything but the first uint of the 4?

If so, we for example don't need ever the v.z computed and full v processing can happen on 3 uint instead of 4.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not mistaken, but I removed this since it is not used in the final version ;)

}

// Converts unsigned integer into float int range <0; 1) by using 23 most significant bits for mantissa
float uintToFloat(uint x) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see that you ignore the exponent bits of the converted value to get stuff in the [0,1] range, which is fine, but then the name of the function is somewhat confusing as in a casual read of the caller code, I'd assume a straightup cast and not this processing.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changed that to UintToNormalizedFloat. let me know if you have a better suggestion.
(at least the comment is very explicit on what the function does ;) )

float texelsToClamp = (1u << (uint)ceil(lod)) + 1;
float2 uv = ClampAndScaleUVPostProcessTexture(ResScale * sampleTC * _PostProcessScreenSize.zw, _PostProcessScreenSize.zw, texelsToClamp);

// Trilinear sampling can introduce some "leaking" between in-focus and out-of-focus regions, hence why we force point
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can do this selection now in theory, no?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, but it was slightly slower in my tests, so I avoided enabling the code path.

Copy link
Contributor

@kecho kecho left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As discussed, we might not be able to do the optz i suggested since they require more work.
Its already a win so we should land this asap!

@kecho
Copy link
Contributor

kecho commented Oct 28, 2021

Self note:
waiting on Pavlos further investigation of some visual artifacts, and also his response to francesco's feedback.

Copy link
Contributor

@remi-chapelain remi-chapelain left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So manual ranges in Physically based mode is now fixed and way closer than when Physically Based is unchecked ✔️

What would be great is to prevent users from entering a start range lower than the end range because it does not make sense. Same for having a near blur at a greater distance than the far blur. Since they are treated "differently" one should always be before the other, but I'll make a bug for that later !

⚠️ Slight concern, when testing high sample count in manual range in Physically based mode, I managed to make it crash every time but only on master. On the PR, very slow but no crash.
Maybe the perf. improvement helped on the PR, but I'm a bit worried about crashes in previous versions now. I'll investigate and create a bug if confirmed and there's something we can do.
image

@remi-chapelain remi-chapelain self-requested a review October 28, 2021 14:31
Copy link
Contributor

@remi-chapelain remi-chapelain left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Blocking again the PR because of this slight edge darkeninng caused only when using Free Aspect Ratio AND Low reslution aspect ratio checked .

af3b2c85deefff37ec3b5a161e6f4527.mp4

Linked to this in preferences
image

# Conflicts:
#	com.unity.render-pipelines.high-definition/Runtime/RenderPipelineResources/HDRenderPipelineRuntimeResources.asset
@pmavridis
Copy link
Contributor Author

@remi-chapelain border issue should be fixed now, can you have a quick look again?

Copy link
Contributor

@remi-chapelain remi-chapelain left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Found another issue that I'll report later (unrelated to the PR) but the issue with the black border is fixed. Approving ✔️

@remi-chapelain remi-chapelain self-requested a review November 5, 2021 09:47
Copy link
Contributor

@remi-chapelain remi-chapelain left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved too fast, works with a set resolution but not in free aspect

f7f52481d7ed0c78baf333018cf14524.mp4

Copy link
Contributor

@remi-chapelain remi-chapelain left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving ✔️

Previous issue is a very specific edge case and we did not manage to repro it on several other machines.
We also found another very specific edge case that will be invesitgated later but don't want to block the PR for this, I'll make a report.

@sebastienlagarde sebastienlagarde marked this pull request as ready for review November 5, 2021 19:12
@sebastienlagarde sebastienlagarde merged commit ae4f84c into master Nov 5, 2021
@sebastienlagarde sebastienlagarde deleted the HDRP/dof_scale branch November 5, 2021 19:13
sebastienlagarde added a commit that referenced this pull request Nov 10, 2021
sebastienlagarde added a commit that referenced this pull request Nov 10, 2021
* Fixed Shadow Matte not appearing in ray tracing effects (case 1364005). #6209

* [HDRP] Physically based depth of field optimizations #5996

* Fixing crash when creating area light. #6220

* Update 5014_VolumetricCloudsBanding.png

* Fix order of render targets in shaderpass forward #6091

* Merge Hd/bugfix #6213

* Added a help box to inform users of the potential dependency to directional lights when baking. #6059

* Exposed the volumetric clouds transmittance for volumetric clouds (case 1373283). #6228

* Reviewed doc updated from #5771 (#6255)

Updated docs that mentioned the new FPTL limit.

* Add coverage for path/ray-tracing double sided override #6250

* Fix some burst warnings for player creation on latest trunk (#6263)

* Focus distance in path traced depth of field now takes into account the focus mode setting (#6253)

* [HDRP] Fix AxF debug output in certain configurations (#4641)

* Fix AxF debug output in certain configurations.

* Update comment

* Fix SSR accumulation white flash (#4648)

* Fix white flash

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Display Info Box when MSAA + ray tracing is onr (#4627)

* Show info box when ray tracing is enabled.

* Changelog

* Move below MSAA

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix distortion when resizing the window in player builds with the Graphics Compositor enabled (#4593)

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Add support for the camera bridge in the graphics compositor (#4599)

* Fix Jittered Project Matrix Infinite Far Clip Plane  (#4638)

* Reconstruct jittered projection matrix far plane (for Infinite )

* Changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fixed a memory leak related to not disposing of the RTAS at the end HDRP's lifecycle. (#4688)

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix custom pass utils Blur + Copy overdraw. (#4623)

* Fix overdraw in custom pass utils blur function

* Updated changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix draw procedural invalid pass idx 1 on first template load (#4632)

* Fix

* changelog

* Force sync compilation for TAA

Co-authored-by: CifaCia <f.cifariellociardi@gmail.com>
Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Changed light reset to preserve type (#4624)

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Revert "Add support for the camera bridge in the graphics compositor (#4599)"

This reverts commit 2325e3f.

* AxF carpaint: Fix a compilation issue on Vulkan until the cpp HLSLcc side is updated. (case 1335737, related to 1314040) (#4691)

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Revert "Revert "Add support for the camera bridge in the graphics compositor (#4599)""

This reverts commit 30fffd5.

* revert: Fix distortion when resizing the window in player builds with the Graphi

* Fixed the ray traced sub subsurface scattering debug mode not displaying only the RTSSS Data (case 1332904). (#4626)

* Fixed the ray traced sub subsurface scattering debug mode not displaying only the RTSSS Data (case 1332904).

* Add test scene

Co-authored-by: Remi Chapelain <remi.chapelain@unity3d.com>
Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* Fix for discrepancies in saturation and intensity between screen space refraction and probe refraction (#4653)

* Delete the second transmittance mul

* Changelog

Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* Fix a Divide-by-Zero Warning for some Anisotropic Models (Fabric, Lit) (#4636)

* Initialize the shading normal to a non-zero value for anisotropy

* Changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* [HDRP] Fix VfX lit particle AOV output color space (#4646)

* Fix VfX lit particle aov output color space

* Update comment

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* [HDRP][Path Tracing] Fixed transparent unlit (#4605)

* Fixed issue with transparent unlit.

* Updated changelog.

* Reverted accidental change to default mtl.

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix distortion with MSAA (#4711)

* Fix contact shadow debug views (#4720)

* Fix

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Update Decal-Projector.md (#4695)

* [HDRP] Fixed nullref when deleting the texture asset assigned in a local volumetric fog volume (#4728)

* Fixed nullref when deleting the 3D mask of a density volume (case 1339330)

* Updated changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix decal layer enum (#4753)

* Fix typo

* Fixed reflection probes being injected into the ray tracing light cluster even if not baked (case 1329083). (#4640)

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Ignore hybrid duplicated reflection probes during light baking (#4663)

* Ignore hybrid duplicated reflection probes during light baking

* test path instead of scene

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix double sided option moving when toggling it in the material UI (#4725)

* Fix double sided option moving when toggling it in the material UI (case 1328877)

* Updated changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix formatting

* Fix volumetric fog in planar reflections (#4736)

* Fix planar reflection

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix motion blur compute dispatch size (#4737)

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* - Updated the recursive rendering documentation (case 1338639). (#4759)

* - Updated the recursive rendering documentation (case 1338639).

* review fixes

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix issue with OnDemand directional shadow map being corrupted when reflection probe are updated same frame (#4812)

* Don't mark as rendered for reflection probes as we want the cached version to be from main view

* Do the thing just for directional

* Doc update

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix cropping issue with the compositor camera bridge (#4802)

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix for unused resources in depth of field (#4796)

* Removing the word Radii from exposure settings (#4854)

* Rename in UX

* Update docs

* [HDRP][Path Tracing] Support for shadow mattes (#4745)

* Shadow matte support.

* Updated changelog.

* Only take occluders into account, closer match to raster mode.

* Added test scene.

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Revert "[HDRP][Path Tracing] Support for shadow mattes (#4745)"

This reverts commit 85ebbc2.

* Fixed the transparent cutoff not working properly in semi-transparent  and color shadows (case 1340234). (#4756)

* Fixed the transparent cutoff not working properly in semi-transparent and color shadows (case 1340234).

* Update test ref image

Co-authored-by: Remi Chapelain <remi.chapelain@unity3d.com>
Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Use non jittered projection in outline pass (#4836)

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* [HDRP][Path Tracing] Sky settings now properly taken into account when using recorder (#4856)

* Make sure sky settings are correctly set when recording.

* Updated changelog.

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix Resolution Issues for Physically Based Depth of Field (#4848)

* Add the necesarry texture coordinate clamping for RTHandle for color pyramid sampling

* Add some resolution independence, fitted for 1920x1080

* Changelog

* Switch back to point sampling from trilinear, with commentary

* Update test reference images

* Small correction to the point sampling, always sample mip 0.

* Re-update the test images, for mip 0 color sampling

* Use a simpler UV scaling/clamping since we are now point sampling.

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fixed bug introduced by sky-for-recorder support. (#4906)

* [Fogbugz 1341576] Memory leaks when the player is paused, and the user changes pipeline… (#4845)

* Memory leaks when the player is paused, and the user changes pipeline settings

* changelog

* [HDRP] Fixed shadergraph double save (#4916)

* Don't need to save twice shadergraph the first time we create a graph

* Updated changelog

* Write 0 instead of micro sized motion vectors + fix extremely fast velocities (#4820)

* Kill micromovements.

* Do same for camera

* Debug view update

* Changelog

* Remove unnecessary comment

* Fix excessive velocity end up marked as no velocity

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* [HDRP] Fix material upgrader (#4821)

* Fix HDRP material upgrade failing when there is a texture inside the builtin resources assigned in the material

* Updated changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* [HDRP] Fix custom pass volume not executed in scene view (#4860)

* Fix custom pass volume not executed in scene view because of the volume culling mask

* Updated changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix reflection probe tootltip (#4890)

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Updated the Physically Based Sky documentation for baked lights (#4891)

* Updated the Physically Based Sky documentation for baked lights

* Rewrite

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fixed remapping of depth pyramid debug (#4893)

* Fixed remapping of depth pyramid debug

* Removed debug pragma

* Update changelog

* Updated tooltip

* Fix wobble-like (or tearing-like) SSAO issues when temporal reprojection is enabled. (#4895)

* Fix AO perceived wobble

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix Asymmetric Projection Matrices and Fog / Pathtracing (#4926)

* Check for asymmetric projections and choose the generic path if so.

* Fix asymmetric projections for the pathtracer ray generation.

* Changelog

* Simplify the matrix multiplication for computing the generic matrix.

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Revert: Fix wobble-like (or tearing-like) SSAO issues when temporal reprojection…

* Fix GBuffer depth debug mode (#5054)

* Fixed Volume Gizmo size when rescaling parent GameObject (#4915)

* Fix Vertex Color Mode documentation (#4976)

* Fix wobble-like (or tearing-like) SSAO issues when temporal reprojection is enabled.  (#4986)

* Fix AO perceived wobble

* changelog

* Update screenshots

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix formatting in NestedOverrideCameraRendering

* [HDRP] Fix white flash with SSR when resetting camera history (#5089)

* Fix white flash with SSR when resetting camera history

* Move branch login inside GetPreviousExposureTexture

* Fix for fixed exposure

* [Fobguz # 1348357] VFX Particle templates missing stencil flags (#5080)

* Adding missing macro for stencil flags in particle forward shaders. This will let flags like TAA Reject be useful

* Changelog

* Fix object disappearing from lookdev (#5063)

* Fixed objects disappearing from Lookdev window when entering playmode (case 1309368).

* Updated changelog

* Added hideflags in Lookdev context

* [HDRP] Fix render object after taa jittering (#5088)

* Add a pass after TAA to restore non jittered matrices

* updated changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix GC alloc in hd/bugfix branch (#5134)

* Fixed GC alloc on hd/bugfix branch

* Fix GC alloc again

* Fix refraction tile artifacts near reflection probe edges (#4727)

* Pick the right probe at object center instead of tile granularity.

* changelog

* Missing commit

* Move stuff in lightloop and out of prelightData

* Update LightLoop.hlsl

* Formatting

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix camera rotation uncontrollable with low framerate (#5076)

* Fix camera rotation uncontrollable with low framerate.

* updated changelog

* Clearing out render targets and randmo write targets on pipeline destruction (#5176)

Changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fixed a null ref exception when adding a new environment to the library. (#5131)

* Fixed a null ref exception when adding a new environment to the library.

* Update changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* FogBugz#1348462 - Wait for accessing the HDProjectSettings instance as it was before. (#5141)

* Fix nullref in volume system after deleting a volume object (#5161)

* Fix nullref in volume system after deleting a volume object (case 1348374)

* Updated changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* [HDRP] Fix APV UI loosing focus when changing a param (#5219)

* Fixed the APV UI losing focus when the helpbox about baking appears in the probe volume.

* Small changes (#5220)

* Fix update order in Graphics Compositor causing jumpy camera updates (#5235)

* Prevent material from having infinite intensity (#5132)

* Prevent material from having infinite intensity

* Fix switching from ldr to hdr emissive

* Fix input field precision

* Round the max value

* Make two variables

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* [HDRP] Adding limitations of decal emissive positive contribution to the documentation (#5237)

* Add emissive positive contribution limitation to the doc

* changelog

* Update CHANGELOG.md

* Update Decal-Projector.md

* Update Decal-Shader.md

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* [HDRP] Fix issue with path tracing when switching between non-persistent cameras (#5246)

* Fix issue with path traceing accumulation when switching between cameras.

* Check if camera history is persistent

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* removed undesired files

* Fix log base (#5260)

* [HDRP] Fixed mask value stored by the LayerMaskParameter class (#5250)

* Fixed value stored by the layer mask parameter class.

* Updated changelog.

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* [HDRP][DXR] Make vertex color default to 1.0 instead of 0.0 (#5268)

* When raytracing, make vertex color default to white if not present.

* Updated Changelog.

* Added comment.

* Fix issue with 0-sized dispatch with extremely low resolutions (#5272)

* Ceil to int instead.

* changelog

* [HDRP] Fix incorrect light list indexing when TAA is enabled (#5287)

* Fix incorrect light list indexing when TAA is enabled

* Better handle XR

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix incorrect additiona velocity for alembic (#5304)

* Fixed LUT initialization in Wireframe mode (#5156)

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* [HDRP] [LightExplorer] Fix missing refreshwhen editing property with a running paused editor. (#5321)

* Update HDLightExplorerExtension.cs

* Update CHANGELOG.md

* Changed Ambient Mode to Dynamic by default (#5350)

* Visual Environment component ambient mode now defaults to Dynamic.

* Update changelog

* Updated test scene with correct ambient mode after the change

* Missing files

* Last scene fix

* Hd/fix framesettings ordering (#5323)

* Fix strange entry in the FrameSettings and add comments for better readability

* Update CHANGELOG.md

Co-authored-by: JulienIgnace-Unity <julien@unity3d.com>

* Bugfix 1357311: Fixed old ray tracing material conversion (#5364)

* - fixed crash in material conversion where material used old raytracing render queue (3900)

* - changelog update

# Conflicts:
#	com.unity.render-pipelines.high-definition/CHANGELOG.md

* Bugfix 1358480: Fixed missing tooltip for "Tessellation Mode" (#5365)

* - fixed missing "Tessellation Mode" tooltip

* - update changelog

* - updated "Tessellation Mode" tooltip

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* [HDRP] Fix HD template (particularly visible in path tracing) (#5319)

* Made the 3 light bulbs non shadow-casting.

* Revert "Made the 3 light bulbs non shadow-casting."

This reverts commit f32ba7d.

* Changed bulb prefab (shadow caster off).

* Revert: Changed Ambient Mode to Dynamic by default #5350

* Fixed a null ref exception when no opaque objects are rendered. (#5463)

* Fixed a null ref exception when no opaque objects are rendered.

* Update changelog

* Fix slope scale depth bias when depth offset is ON (#5466)

* Fix slope scale bias being broken when depth offset was enabled

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* [HDRP] Fix spot shadow sampling when using custom spot angle (#5439)

* Fixed shadow sampling artifact when using the spot light shadow option 'custom spot angle'

* Updated changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix darkening in SSR fade  (#5472)

* Fix

* Changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* [HDRP] Improve path traced subsurface scattering for transmissive surfaces (#5485)

* Improve subsurface scatering for transmissive surfaces

* Add changelog + fix throughput multiplication

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix missing context menu for 'Post Anti-Aliasing' in Camera (1357283) (#5497)

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Force allocate texture if no fallback is available (#5130)

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Update path tracer screenshots

* Update 2314_Shadow_CustonAngle.png

* Fix range compression factor clamping (#5892)

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fixed tooltip not showing on labels in ShaderGraphs (#5877)

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Proper format for copy history (#5796)

* Fix shadow mask fade and optimize it at same time  (#5911)

* Fix shadow mask fade and optimize.

* changelog

* Fix wrong format for contact shadows and shadow atlas default textures  (#5912)

* Fix contact shadows not being bound in debug and good default shadow

* changelog

* Rename

* Handle more edge cases where shadows are not drawn to atlas (disabled scene view lighting)

Co-authored-by: John Parsaie <johnpa@unity3d.com>
Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fixed an issue where probe being forced realtime would cause perf to degrade greatly when manipulating them in editor. (#5901)

* Mark anchor override as not supported for probes (#5939)

* Revert: Fix shadow mask fade and optimize it at same time #5911

* Add info on After post-process info box (#6125)

* Add info on info box

* Clarify a bit better

* Dynamic Ambient improvement and doc update (#5951)

* Avoided unnecessary ambient probe updates

Updated doc with dynamic ambient probe limitations

* Update Environment-Lighting.md

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* [SRP] Fix issue when changing volume profiles at runtime with a script (#5882)

* Fix issue when changing volume profiles in runtime with a script

* Add new kine in changelog

* Improve comment

* Changelog typo

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix NaN on Intel GPU when using PBR Sky and rendering sun disk  (#6145)

* Enable debug symbols

* tentative

* test using cos from cpu

* Finalize fix

* Missing file

* Remove debug symbols.

* Fix Luminance/EV conversion when LightMeterCalibrationConstant is changed (#6115)

* Fix formmating

* Focus distance in path traced depth of field now takes into account the focus mode setting

* Rename the old test scene to 5006_PathTracing_DofVolume

* Bump up the test number

* Update whats-new-12.md

Co-authored-by: FrancescoC-unity <43168857+FrancescoC-unity@users.noreply.github.com>
Co-authored-by: sebastienlagarde <sebastien@unity3d.com>
Co-authored-by: John Parsaie <johnpa@unity3d.com>
Co-authored-by: anisunity <42026998+anisunity@users.noreply.github.com>
Co-authored-by: Antoine Lelievre <antoinel@unity3d.com>
Co-authored-by: CifaCia <f.cifariellociardi@gmail.com>
Co-authored-by: Adrien de Tocqueville <adrien.tocqueville@unity3d.com>
Co-authored-by: slunity <37302815+slunity@users.noreply.github.com>
Co-authored-by: Remi Chapelain <remi.chapelain@unity3d.com>
Co-authored-by: Emmanuel Turquin <emmanuel@turquin.org>
Co-authored-by: Adrian1066 <44636759+Adrian1066@users.noreply.github.com>
Co-authored-by: Kleber Garcia <kleber.garcia@unity3d.com>
Co-authored-by: Julien Ignace <julien@unity3d.com>
Co-authored-by: alex-vazquez <76204843+alex-vazquez@users.noreply.github.com>
Co-authored-by: Rémi Chapelain <57442369+remi-chapelain@users.noreply.github.com>
Co-authored-by: Remi Slysz <40034005+RSlysz@users.noreply.github.com>
Co-authored-by: Jarkko Lempiäinen <79095390+JarkkoUnity@users.noreply.github.com>

* Fix MSAA resolve of stencil buffer  (#6251)

* Fix resolve

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix HDRP template input not working when using the new Input System and no Keyboard/Mouse #6045

* Update Materials

* Update 5014_PathTracing_DoubleSidedOverride.png.meta

* Fix shader warning on vulkan

* Fixing ps4 light list build (#6258)

* Fix warning

* Update package.json

* Formatting

* update screenshots

Co-authored-by: anisunity <42026998+anisunity@users.noreply.github.com>
Co-authored-by: Pavlos Mavridis <pavlos.mavridis@unity3d.com>
Co-authored-by: Kleber Garcia <kleber.garcia@unity3d.com>
Co-authored-by: Adrien de Tocqueville <adrien.tocqueville@unity3d.com>
Co-authored-by: JulienIgnace-Unity <julien@unity3d.com>
Co-authored-by: Vic Cooper <63712500+Vic-Cooper@users.noreply.github.com>
Co-authored-by: Rémi Chapelain <57442369+remi-chapelain@users.noreply.github.com>
Co-authored-by: FrancescoC-unity <43168857+FrancescoC-unity@users.noreply.github.com>
Co-authored-by: John Parsaie <johnpa@unity3d.com>
Co-authored-by: Antoine Lelievre <antoinel@unity3d.com>
Co-authored-by: CifaCia <f.cifariellociardi@gmail.com>
Co-authored-by: slunity <37302815+slunity@users.noreply.github.com>
Co-authored-by: Remi Chapelain <remi.chapelain@unity3d.com>
Co-authored-by: Emmanuel Turquin <emmanuel@turquin.org>
Co-authored-by: Adrian1066 <44636759+Adrian1066@users.noreply.github.com>
Co-authored-by: alex-vazquez <76204843+alex-vazquez@users.noreply.github.com>
Co-authored-by: Remi Slysz <40034005+RSlysz@users.noreply.github.com>
Co-authored-by: Jarkko Lempiäinen <79095390+JarkkoUnity@users.noreply.github.com>
Co-authored-by: robinb-u3d <robinb-u3d@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants