vengine  0.1.0
3D graphics engine made with Vulkan
Loading...
Searching...
No Matches
ven::Renderer Class Reference

#include <Renderer.hpp>

+ Collaboration diagram for ven::Renderer:

Public Member Functions

 Renderer (Window &window, Device &device)
 
 ~Renderer ()
 
 Renderer (const Renderer &)=delete
 
Rendereroperator= (const Renderer &)=delete
 
VkRenderPass getSwapChainRenderPass () const
 
float getAspectRatio () const
 
bool isFrameInProgress () const
 
VkCommandBuffer getCurrentCommandBuffer () const
 
int getFrameIndex () const
 
VkCommandBuffer beginFrame ()
 
void endFrame ()
 
void beginSwapChainRenderPass (VkCommandBuffer commandBuffer) const
 

Static Public Member Functions

static void endSwapChainRenderPass (VkCommandBuffer commandBuffer)
 

Private Member Functions

void createCommandBuffers ()
 
void freeCommandBuffers ()
 
void recreateSwapChain ()
 

Private Attributes

Windowm_window
 
Devicem_device
 
std::unique_ptr< SwapChainm_swapChain
 
std::vector< VkCommandBuffer > m_commandBuffers
 
uint32_t m_currentImageIndex {0}
 
int m_currentFrameIndex {0}
 
bool m_isFrameStarted {false}
 

Detailed Description

Definition at line 20 of file Renderer.hpp.

Constructor & Destructor Documentation

◆ Renderer() [1/2]

ven::Renderer::Renderer ( Window & window,
Device & device )
inline

Definition at line 24 of file Renderer.hpp.

References createCommandBuffers(), and recreateSwapChain().

+ Here is the call graph for this function:

◆ ~Renderer()

ven::Renderer::~Renderer ( )
inline

Definition at line 25 of file Renderer.hpp.

References freeCommandBuffers().

+ Here is the call graph for this function:

◆ Renderer() [2/2]

ven::Renderer::Renderer ( const Renderer & )
delete

Member Function Documentation

◆ beginFrame()

VkCommandBuffer ven::Renderer::beginFrame ( )

Definition at line 43 of file renderer.cpp.

◆ beginSwapChainRenderPass()

void ven::Renderer::beginSwapChainRenderPass ( VkCommandBuffer commandBuffer) const

Definition at line 90 of file renderer.cpp.

◆ createCommandBuffers()

void ven::Renderer::createCommandBuffers ( )
private

Definition at line 3 of file renderer.cpp.

References ven::Device::device(), ven::Device::getCommandPool(), m_commandBuffers, m_device, and ven::SwapChain::MAX_FRAMES_IN_FLIGHT.

Referenced by Renderer().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ endFrame()

void ven::Renderer::endFrame ( )

Definition at line 69 of file renderer.cpp.

References ven::SwapChain::MAX_FRAMES_IN_FLIGHT.

◆ endSwapChainRenderPass()

void ven::Renderer::endSwapChainRenderPass ( VkCommandBuffer commandBuffer)
static

Definition at line 123 of file renderer.cpp.

Referenced by ven::Engine::mainLoop().

+ Here is the caller graph for this function:

◆ freeCommandBuffers()

void ven::Renderer::freeCommandBuffers ( )
private

Definition at line 17 of file renderer.cpp.

Referenced by ~Renderer().

+ Here is the caller graph for this function:

◆ getAspectRatio()

float ven::Renderer::getAspectRatio ( ) const
inlinenodiscard

Definition at line 31 of file Renderer.hpp.

References m_swapChain.

◆ getCurrentCommandBuffer()

VkCommandBuffer ven::Renderer::getCurrentCommandBuffer ( ) const
inlinenodiscard

Definition at line 33 of file Renderer.hpp.

References isFrameInProgress(), m_commandBuffers, and m_currentFrameIndex.

+ Here is the call graph for this function:

◆ getFrameIndex()

int ven::Renderer::getFrameIndex ( ) const
inlinenodiscard

Definition at line 35 of file Renderer.hpp.

References isFrameInProgress(), and m_currentFrameIndex.

+ Here is the call graph for this function:

◆ getSwapChainRenderPass()

VkRenderPass ven::Renderer::getSwapChainRenderPass ( ) const
inlinenodiscard

Definition at line 30 of file Renderer.hpp.

References m_swapChain.

◆ isFrameInProgress()

bool ven::Renderer::isFrameInProgress ( ) const
inlinenodiscard

Definition at line 32 of file Renderer.hpp.

References m_isFrameStarted.

Referenced by getCurrentCommandBuffer(), and getFrameIndex().

+ Here is the caller graph for this function:

◆ operator=()

Renderer & ven::Renderer::operator= ( const Renderer & )
delete

◆ recreateSwapChain()

void ven::Renderer::recreateSwapChain ( )
private

Definition at line 23 of file renderer.cpp.

Referenced by Renderer().

+ Here is the caller graph for this function:

Member Data Documentation

◆ m_commandBuffers

std::vector<VkCommandBuffer> ven::Renderer::m_commandBuffers
private

Definition at line 51 of file Renderer.hpp.

Referenced by createCommandBuffers(), and getCurrentCommandBuffer().

◆ m_currentFrameIndex

int ven::Renderer::m_currentFrameIndex {0}
private

Definition at line 54 of file Renderer.hpp.

Referenced by getCurrentCommandBuffer(), and getFrameIndex().

◆ m_currentImageIndex

uint32_t ven::Renderer::m_currentImageIndex {0}
private

Definition at line 53 of file Renderer.hpp.

◆ m_device

Device& ven::Renderer::m_device
private

Definition at line 49 of file Renderer.hpp.

Referenced by createCommandBuffers().

◆ m_isFrameStarted

bool ven::Renderer::m_isFrameStarted {false}
private

Definition at line 55 of file Renderer.hpp.

Referenced by isFrameInProgress().

◆ m_swapChain

std::unique_ptr<SwapChain> ven::Renderer::m_swapChain
private

Definition at line 50 of file Renderer.hpp.

Referenced by getAspectRatio(), and getSwapChainRenderPass().

◆ m_window

Window& ven::Renderer::m_window
private

Definition at line 48 of file Renderer.hpp.


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