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 @@
-
-
+
+