diff options
| author | lbavoil <[email protected]> | 2018-03-15 11:08:34 +0100 |
|---|---|---|
| committer | lbavoil <[email protected]> | 2018-03-15 11:08:34 +0100 |
| commit | 636807e68a85a978473764d171ed0c7cc36f9be6 (patch) | |
| tree | 784a3d4fa8f48b4c085dd959678505b2af12f425 /samples/dual_layer/D3D12/src/HBAOSampleD3D12.h | |
| parent | Remove test folder (diff) | |
| download | hbaoplus-636807e68a85a978473764d171ed0c7cc36f9be6.tar.xz hbaoplus-636807e68a85a978473764d171ed0c7cc36f9be6.zip | |
HBAO+ 4.0.0.23740451
Diffstat (limited to 'samples/dual_layer/D3D12/src/HBAOSampleD3D12.h')
| -rw-r--r-- | samples/dual_layer/D3D12/src/HBAOSampleD3D12.h | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/samples/dual_layer/D3D12/src/HBAOSampleD3D12.h b/samples/dual_layer/D3D12/src/HBAOSampleD3D12.h new file mode 100644 index 0000000..ad1a164 --- /dev/null +++ b/samples/dual_layer/D3D12/src/HBAOSampleD3D12.h @@ -0,0 +1,55 @@ +/* +* Copyright (c) 2008-2018, NVIDIA CORPORATION. All rights reserved. +* +* NVIDIA CORPORATION and its licensors retain all intellectual property +* and proprietary rights in and to this software, related documentation +* and any modifications thereto. Any use, reproduction, disclosure or +* distribution of this software and related documentation without an express +* license agreement from NVIDIA CORPORATION is strictly prohibited. +*/ + +#include <HBAOSample.h> +#include "DeviceManager12.h" +#include <D3D12.h> +#include <wrl.h> +#include "SceneRenderer.h" + +#include <GFSDK_SSAO.h> + +using namespace Microsoft::WRL; + +class HBAOSampleD3D12 : public HBAOSample, public IVisualController +{ +public: + void Initialize() override; + void Run() override; + + void Render(RenderTargetView RTV) override; + void BackBufferResized(uint32_t width, uint32_t height, uint32_t sampleCount) override; + +private: + bool InitializeHBAOPlus(); + bool InitializeRenderTargets(); + LRESULT MsgProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) override; + + DeviceManager mDeviceManager; + ComPtr<ID3D12CommandAllocator> mCommandAllocator; + ComPtr<ID3D12GraphicsCommandList> mCommandList; + ComPtr<ID3D12Resource> mDepthStencil[2]; + ComPtr<ID3D12Resource> mNormalsGBuffer; + D3D12_CPU_DESCRIPTOR_HANDLE mDepthStencilView[2]; + D3D12_CPU_DESCRIPTOR_HANDLE mDepthSRV[2]; + ComPtr<ID3D12DescriptorHeap> mDSVDescriptorHeap; + ID3D12Device* mDevice = nullptr; + + ID3D12CommandQueue* mCommandQueue; + ComPtr<ID3D12Fence> mFence; + uint64_t mFenceValue = 0; + + SceneRenderer mSceneRenderer; + + ComPtr<ID3D12DescriptorHeap> mSSAODescriptorHeapCBVSRVUAV; + ComPtr<ID3D12DescriptorHeap> mSSAODescriptorHeapRTV; + GFSDK_SSAO_InputData_D3D12 mSSAOInputData; + GFSDK_SSAO_Context_D3D12* mSSAOContext; +};
\ No newline at end of file |