From 636807e68a85a978473764d171ed0c7cc36f9be6 Mon Sep 17 00:00:00 2001 From: lbavoil Date: Thu, 15 Mar 2018 11:08:34 +0100 Subject: HBAO+ 4.0.0.23740451 --- doc/.buildinfo | 2 +- doc/_sources/changelog.txt | 8 +++++ doc/_sources/product.txt | 31 +++++++++++++++- doc/_sources/releasenotes.txt | 7 ++-- doc/changelog.html | 27 +++++++++----- doc/genindex.html | 13 +++---- doc/index.html | 19 +++++----- doc/objects.inv | 2 +- doc/product.html | 41 +++++++++++++++++----- doc/releasenotes.html | 24 ++++++------- doc/search.html | 13 +++---- doc/searchindex.js | 2 +- .../Sphinx-1.2.dist-info/DESCRIPTION.html | 13 +++---- .../setuptools-2.1.dist-info/DESCRIPTION.html | 13 +++---- .../autosummary/templates/autosummary/base.html | 13 +++---- .../autosummary/templates/autosummary/class.html | 13 +++---- .../autosummary/templates/autosummary/module.html | 13 +++---- .../tests/roots/test-only-directive/contents.html | 13 +++---- .../tests/roots/test-only-directive/only.html | 13 +++---- 19 files changed, 177 insertions(+), 103 deletions(-) (limited to 'doc') diff --git a/doc/.buildinfo b/doc/.buildinfo index dcc432b..95ef8d8 100644 --- a/doc/.buildinfo +++ b/doc/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 99127d59ee4b5414a3a9060c37f79b2d +config: 3f951263be95a5a0330b5527f90d88af tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/doc/_sources/changelog.txt b/doc/_sources/changelog.txt index 98c0c31..54a3b4d 100644 --- a/doc/_sources/changelog.txt +++ b/doc/_sources/changelog.txt @@ -4,6 +4,14 @@ Change Log |PRODUCTNAMEDOCRELEASEBOLD| +**New in release 4.0** + +* Add a StepCount parameter. The default value behaves the same as in previous HBAO+ versions. +* Added support for a second input depth texture (to reduce halo artifacts behind foreground objects). +* Fixed possible crash bug (released PSOs still in use on the GPU) when changing AO parameters at runtime on DX12. +* Removed the two-pass-blend option from the DX11 interface. +* Removed support for OpenGL. + **New in release 3.1** * The D3D11 non-UWP DLL now calls NVAPI (when available) to disable any SLI transfers for all render targets. diff --git a/doc/_sources/product.txt b/doc/_sources/product.txt index 5717233..d5a7a2d 100644 --- a/doc/_sources/product.txt +++ b/doc/_sources/product.txt @@ -16,6 +16,7 @@ The algorithm is based on HBAO [Bavoil and Sainz 2008], with the following diffe #. To minimize flickering, the HBAO+ is always rendered in full resolution, from full-resolution depths. +#. To reduce halo artifacts behind foreground objects, HBAO+ can take as input a second depth layer, using the multi-layer SSAO approach from [Bavoil and Sainz 2009] and [McGuire et al. 2013]. .. image:: \_static\hbao-plus-in-tom-clancys-splinter-cell-blacklist-2.jpg @@ -24,7 +25,7 @@ Package ``doc/``\—this documentation page. -``lib/``\—header file, import libraries and DLLs, for Win32, Win64, Mac OS X and Linux. +``lib/``\—header file, import libraries and DLLs, for Win32 and Win64. ``samples/``\—source for sample applications demonstrating NVIDIA HBAO+. @@ -47,6 +48,7 @@ Getting Started GFSDK_SSAO_InputData_D3D11 Input; Input.DepthData.DepthTextureType = GFSDK_SSAO_HARDWARE_DEPTHS; Input.DepthData.pFullResDepthTextureSRV = pDepthStencilTextureSRV; + Input.DepthData.pFullResDepthTexture2ndLayerSRV = pDepthStencilTexture2ndLayerSRV; // Required only if Params.DualLayerAO=true Input.DepthData.ProjectionMatrix.Data = GFSDK_SSAO_Float4x4(pProjectionMatrix); Input.DepthData.ProjectionMatrix.Layout = GFSDK_SSAO_ROW_MAJOR_ORDER; Input.DepthData.MetersToViewSpaceUnits = SceneScale; @@ -60,6 +62,7 @@ Getting Started Params.Blur.Enable = true; Params.Blur.Radius = GFSDK_SSAO_BLUR_RADIUS_4; Params.Blur.Sharpness = 16.f; + Params.DualLayerAO = true; #. SET RENDER TARGET:: @@ -96,6 +99,12 @@ Input Requirements * The library re-allocates its internal render targets if the Viewport.Width or Viewport.Height changes for a given AO context. +* Optionally, can also take as input a second depth texture (second depth layer), to add information about the scene geometry that is hidden behind the first depth layer. + + * This enables removing halo artifacts behind foreground characters, and that with a single call to RenderAO. + + * The second depth layer can simply be a copy of the scene depth buffer before the dynamic geometry is rendered into it. + MSAA Support ++++++++++++++++++++ @@ -248,6 +257,23 @@ The greater the sharpness parameter, the more the blur preserves edges .. image:: \_static\Blur_Sharpness_8.png +Dual Layer +++++++++++++++++++++ + +The dual layer feature increases the overall quality of the AO, by removing halo artifacts behind foreground objects. To use this feature, the application needs to provide a second depth texture via Input.DepthData.pFullResDepthTexture2ndLayerSRV, and set Params.DualLayerAO = true. + +Here are screenshots from our DX11 sample app, which is drawing + +* the shader-ball object into a first depth buffer + +* the shader-ball and background box into a second depth buffer + +and feeding these 2 depth layers as input to RenderAO. + +.. image:: \_static\DualLayer_Disabled.png + +.. image:: \_static\DualLayer_Enabled.png + Integration Time Estimates ########################## @@ -270,12 +296,15 @@ Additional Links `[Bavoil et al. 2008] "Image-Space Horizon-Based Ambient Occlusion" `_ +`[Bavoil and Sainz 2009] "Multi-Layer Dual-Resolution Screen-Space Ambient Occlusion" `_ + `[McGuire et al. 2012] "Scalable Ambient Obscurance" `_ `[Bukowski et al. 2012] "Scalable High-Quality Motion Blur and Ambient Occlusion" `_ `[Bavoil and Jansen 2013] "Particle Shadows & Cache-Efficient Post-Processing" `_ +`[McGuire et al. 2013] "Lighting Deep G-Buffers: Single-Pass, Layered Depth Images with Minimum Separation Applied to Indirect Illumination" `_ .. Un-comment out if section is used .. Additional Links diff --git a/doc/_sources/releasenotes.txt b/doc/_sources/releasenotes.txt index 8952ef6..9c28ef3 100644 --- a/doc/_sources/releasenotes.txt +++ b/doc/_sources/releasenotes.txt @@ -15,11 +15,8 @@ What's New |VERSIONBOLD| -* Added entry points for D3D12. -* Now shipping separate DLLs and LIB files for D3D11 and GL. -* Added the BackgroundAO parameter, which can be used to add larger-scale occlusion in the distance. -* Removed the BLUR_RADIUS_8 mode (BLUR_RADIUS_4 looks better in general, and runs faster). -* Added per-component debug-normal visualization modes in GFSDK_SSAO_RenderMask. +* Added support for a second input depth texture (to reduce halo artifacts behind foreground objects) +* Removed support for OpenGL. .. ----------------------- diff --git a/doc/changelog.html b/doc/changelog.html index 048dea3..e03bce8 100644 --- a/doc/changelog.html +++ b/doc/changelog.html @@ -7,7 +7,7 @@ - Change Log — NVIDIA HBAO+ 3.1. documentation + Change Log — NVIDIA HBAO+ 4.0. documentation @@ -18,7 +18,7 @@ - - + +