generated from McMassiveNZ/opengl-starter
34 lines
539 B
C++
34 lines
539 B
C++
#pragma once
|
|
|
|
#include <memory>
|
|
|
|
namespace dx12_starter
|
|
{
|
|
struct APIVersion
|
|
{
|
|
uint32_t major;
|
|
uint32_t minor;
|
|
};
|
|
|
|
struct RendererCreateParams
|
|
{
|
|
void* nativeWindowHandle;
|
|
APIVersion minimumVersion;
|
|
uint32_t frameCount;
|
|
};
|
|
|
|
class IRenderer
|
|
{
|
|
public:
|
|
virtual ~IRenderer() = default;
|
|
|
|
virtual void RecordCommands() = 0;
|
|
virtual void Render() = 0;
|
|
virtual void WaitForPreviousFrame() = 0;
|
|
virtual void Destroy() = 0;
|
|
|
|
static std::unique_ptr<IRenderer> Create(const RendererCreateParams& params);
|
|
};
|
|
|
|
} // namespace dx12_starter
|