Vulkan Schnee 0.0.1 (22840dc8)
High-performance rendering engine
Loading...
Searching...
No Matches
RenderDoc.h
1#pragma once
2#ifdef RENDERDOC_ENABLED
3#include <renderdoc_app.h>
4#endif
5
6#include <string>
7#include <vulkan/vulkan_core.h>
8
9namespace Engine {
10 class RenderDoc {
11 public:
13 static RenderDoc& get();
14
15 // Core functionality
16 bool init();
17 void startCapture(VkDevice device) const;
18 void endCapture(VkDevice device) const;
20 bool isCapturing() const;
21 bool isConnected() const;
22
23 // Capture management
24 void setCaptureTitle(const std::string& title);
25 void setCapturePath(const std::string& pathTemplate);
26 void triggerMultiFrameCapture(uint32_t numFrames);
27
28 // Status checking
29 void printStatus() const;
30 uint32_t getNumCaptures() const;
31
32 // UI control
33 void launchUI();
34 void showUI();
35
36 // Options
37 void enableCallstacks(bool enable);
38 void enableAPIValidation(bool enable);
39 void enableOverlay(bool enable);
40
41 private:
42#ifdef RENDERDOC_ENABLED
43 RENDERDOC_API_1_1_2* m_api = nullptr; // Use 1.1.2 as base - compatible with newer versions
44#endif
45 bool m_available = false;
46 };
47}
bool isConnected() const
void setCaptureTitle(const std::string &title)
uint32_t getNumCaptures() const
static RenderDoc & get()
void endCapture(VkDevice device) const
void printStatus() const
void enableOverlay(bool enable)
void enableAPIValidation(bool enable)
void startCapture(VkDevice device) const
void triggerMultiFrameCapture(uint32_t numFrames)
void setCapturePath(const std::string &pathTemplate)
void enableCallstacks(bool enable)
bool isCapturing() const