//-------------------------------------------------------------------------------------- // pch.h // // Header for standard system include files. // // Advanced Technology Group (ATG) // Copyright (C) Microsoft Corporation. All rights reserved. //-------------------------------------------------------------------------------------- #pragma once #include #define _WIN32_WINNT 0x0A00 #include // Use the C++ standard templated min/max #define NOMINMAX // DirectX apps don't need GDI #define NODRAWTEXT #define NOGDI #define NOBITMAP // Include if you need this #define NOMCX // Include if you need this #define NOSERVICE // WinHelp is deprecated #define NOHELP #define WIN32_LEAN_AND_MEAN #include #include #include #include #if defined(NTDDI_WIN10_RS2) #include #else #include #endif #include #include #include "d3dx12.h" #include #include #include #include #ifdef _DEBUG #include #endif #include // To use graphics and CPU markup events with the latest version of PIX, change this to include // then add the NuGet package WinPixEventRuntime to the project. #include #include #include #pragma comment(lib, "D3Dcompiler.lib") #pragma comment(lib, "d3d12.lib") #pragma comment(lib, "dxgi.lib") #pragma comment(lib, "dxguid.lib") namespace DX { // Helper class for COM exceptions class com_exception : public std::exception { public: com_exception(HRESULT hr) noexcept : result(hr) {} const char *what() const override { static char s_str[64] = {}; sprintf_s(s_str, "Failure with HRESULT of %08X", static_cast(result)); return s_str; } private: HRESULT result; }; // Helper utility converts D3D API failures into exceptions. inline void ThrowIfFailed(HRESULT hr) { if (FAILED(hr)) { throw com_exception(hr); } } } // namespace DX