* Save the back buffer to disk using DirectxTk library. */
| 960 | * Save the back buffer to disk using DirectxTk library. |
| 961 | */ |
| 962 | bool ScreenCapture(D3D12Global& d3d, std::string filename) |
| 963 | { |
| 964 | HRESULT hr = CoInitialize(NULL); |
| 965 | Utils::Validate(hr, L"Error: failed to initialize screen capture!"); |
| 966 | |
| 967 | hr = SaveWICTextureToFile(d3d.cmdQueue, d3d.backBuffer[d3d.frameIndex], GUID_ContainerFormatPng, (std::wstring(filename.begin(), filename.end()) + L".png").c_str(), D3D12_RESOURCE_STATE_PRESENT, D3D12_RESOURCE_STATE_PRESENT, nullptr, nullptr, false); |
| 968 | if (FAILED(hr)) return false; |
| 969 | |
| 970 | return true; |
| 971 | } |
| 972 | |
| 973 | /** |
| 974 | * Release D3D12 resources. |