Monad Engine da02fba2
> Undercity Codex_
Loading...
Searching...
No Matches
mnd::vk::Renderer Class Reference

#include <Renderer.h>

Public Member Functions

 Renderer (Context &ctx, Swapchain &swap)
 
 ~Renderer ()
 
 Renderer (const Renderer &)=delete
 
Rendereroperator= (const Renderer &)=delete
 
bool DrawFrame (float clearR, float clearG, float clearB)
 
void WaitIdle () const
 

Static Public Attributes

static constexpr uint32_t kFramesInFlight = 2
 

Detailed Description

Definition at line 23 of file Renderer.h.

Constructor & Destructor Documentation

◆ Renderer() [1/2]

mnd::vk::Renderer::Renderer ( Context ctx,
Swapchain swap 
)

Definition at line 23 of file Renderer.cpp.

◆ ~Renderer()

mnd::vk::Renderer::~Renderer ( )

Definition at line 30 of file Renderer.cpp.

References mnd::vk::Context::GetDevice(), and kFramesInFlight.

◆ Renderer() [2/2]

mnd::vk::Renderer::Renderer ( const Renderer )
delete

Member Function Documentation

◆ DrawFrame()

bool mnd::vk::Renderer::DrawFrame ( float  clearR,
float  clearG,
float  clearB 
)

Record + submit + present one frame. Returns false if the swapchain went out-of-date and the caller should rebuild it before calling again.

Definition at line 118 of file Renderer.cpp.

References mnd::vk::Swapchain::Get(), mnd::vk::Context::GetDevice(), mnd::vk::Context::GetGraphicsQueue(), mnd::vk::Context::GetPresentQueue(), and kFramesInFlight.

Referenced by main().

◆ operator=()

Renderer & mnd::vk::Renderer::operator= ( const Renderer )
delete

◆ WaitIdle()

void mnd::vk::Renderer::WaitIdle ( ) const

Block until the GPU is idle. Call before destroying anything bound to the swapchain or device.

Definition at line 45 of file Renderer.cpp.

References mnd::vk::Context::GetDevice().

Referenced by main().

Member Data Documentation

◆ kFramesInFlight

constexpr uint32_t mnd::vk::Renderer::kFramesInFlight = 2
staticconstexpr

Definition at line 26 of file Renderer.h.

Referenced by ~Renderer(), and DrawFrame().


The documentation for this class was generated from the following files: