Change Log
NVIDIA HBAO+ 4.0.
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.
- The D3D12 RenderAO call now resets the ScissorRect.
- The PowerExponent parameter is now clamped to 4.f (was 8.f).
New in release 3.0
- Added entry points for D3D12.
- Now shipping separate DLLs and LIB files for D3D11 and GL.
- Replaced the DetailAO & CoarseAO parameters with SmallScaleAO & LargeScaleAO.
- Replaced pointers with references in the API.
- Added the ForegroundAO & BackgroundAO parameters.
- Added per-component debug-normal visualization modes in GFSDK_SSAO_RenderMask.
- Added support for two-pass AO blending + depth-stencil masking.
- Removed the BLUR_RADIUS_8 mode (BLUR_RADIUS_4 looks better in general, and runs faster).
- Removed the PER_SAMPLE_AO MSAA mode.
New in release 2.4
- Added support for Mac OS X.
- Added the DepthClampMode parameter.
- Added the GFSDK_SSAO_GetVersion function.
- The input viewport and matrices are now passed by value instead of by pointer.
- The input viewport parameter is now optional. By default, a full-resolution viewport is used.
New in release 2.3
- The input normal data are now passed by value instead of by pointer (less error prone).
- Removed the INVALID_VIEWPORT_DIMENSIONS error code. Input viewports larger than the input textures are now supported.
- Added support for MSAA input VIEW_DEPTHS for DX11 and GL.
- Added support for VIEW_DEPTHS with partial input viewports for DX11.
- Added the DepthStorage parameter in GFSDK_SSAO_Parameters.
New in release 2.2
- GL: The RenderAO call now saves & restores all the relevant GL states it alters internally.
- GL: Added the GFSDK_SSAO_GLFunctions argument to GFSDK_SSAO_CreateContext_GL.
- GL: Added support for MSAA input textures.
- The GFSDK_SSAO_DRAW_DEBUG_N mode now outputs float4(-InternalViewNormal.xyz, 0).
- Changed the blur weights of BLUR_RADIUS_2 and BLUR_RADIUS_4 to support larger sharpness values.
New in release 2.1
- Optimize the case of Params.DetailAO == 0.f and Input.pNormalData != NULL.
- Added a parameter to control the sharpness of the optional GFSDK_SSAO_DepthThreshold.
- GL: Added quality/performance parameters in GFSDK_SSAO_Parameters_GL.
New in release 2.0
- Added entry points for OpenGL 3.2.
- Added support for non-zero input viewport origins.
- Added the GFSDK_SSAO_BLUR_RADIUS_2 mode.
New in release 1.5
- Renamed the SceneScale parameter to MetersToViewSpaceUnits.
- Added the GFSDK_SSAO_HARDWARE_DEPTHS_SUB_RANGE depth-texture type.
- Added option to supersample the AO when using MSAA input and output textures (GFSDK_SSAO_PER_SAMPLE_AO).
- Added PreCreateRenderTargets entry point (optional).
New in release 1.4
- Added error codes: GFSDK_SSAO_INVALID_VIEWPORT_DEPTH_RANGE and GFSDK_SSAO_UNSUPPORTED_VIEWPORT_DIMENSIONS.
- Removed the GFSDK_SSAO_PERFORMANCE mode.
New in release 1.3
- Moved the API to a class interface.
- Added an optional SSAO_DepthThreshold parameter, to hide potential z-buffer precision artifacts.
- Added support for input-texture dimensions being larger than the viewport dimensions.
- Added GFSDK_SSAO_BlurRadius option.
- Added GFSDK_SSAO_BlurSharpnessProfile option.
- Added GFSDK_SSAO_GPUConfiguration option.
New in release 1.2
- Merged the SetInputDepths and SetInputNormals functions into a single SetInputData.
- Removed the SetParameters function. The parameters are now passed as an argument to RenderAO.
- Let the user specify a BlendState for compositing the AO to the OutputRTV. See CustomBlendState.
- Added a normal-visualization debug mode: by calling RenderAO with RenderMask = RENDER_DEBUG_NORMAL_Z.
- Added a GetBuildString function.