Vulkan Schnee 0.0.1
High-performance rendering engine
Loading...
Searching...
No Matches
Engine::Rendering::WorldUiRenderer Class Reference

#include <WorldUiRenderer.h>

Collaboration diagram for Engine::Rendering::WorldUiRenderer:

Classes

struct  Target
struct  TargetFrame

Public Member Functions

 WorldUiRenderer ()=default
 ~WorldUiRenderer ()
 WorldUiRenderer (const WorldUiRenderer &)=delete
WorldUiRendereroperator= (const WorldUiRenderer &)=delete
void init (Core::ApplicationContext *context, uint32_t framesInFlight)
void cleanup (Core::AssetManager *assetManager)
uint32_t ensureWidgetTexture (Components::WidgetComponent &widget, Core::AssetManager &assetManager)
void renderWidgets (VkCommandBuffer commandBuffer, uint32_t frameIndex, RenderProcess &renderProcess, Core::SceneManager *sceneManager, Core::AssetManager *assetManager)

Private Member Functions

TargetensureTarget (Components::WidgetComponent &widget, Core::AssetManager &assetManager)
void pruneInactiveTargets (const std::vector< Components::WidgetComponent * > &activeWidgets, Core::AssetManager &assetManager)
void createTargetImages (Target &target) const
void destroyTarget (Target &target, Core::AssetManager *assetManager) const
void transitionTargetsToColorAttachment (VkCommandBuffer commandBuffer, uint32_t frameIndex)
void transitionTargetsToShaderRead (VkCommandBuffer commandBuffer, uint32_t frameIndex)
void renderTarget (VkCommandBuffer commandBuffer, Target &target, uint32_t frameIndex) const

Private Attributes

Core::ApplicationContextcontext_ = nullptr
ImGuiContext * imguiContext_ = nullptr
VkDescriptorPool descriptorPool_ = VK_NULL_HANDLE
VkSampler sampler_ = VK_NULL_HANDLE
VkFormat format_ = VK_FORMAT_R8G8B8A8_UNORM
uint32_t framesInFlight_ = 0
bool initialized_ = false
std::unordered_map< Components::WidgetComponent *, Targettargets_

Detailed Description

Definition at line 27 of file WorldUiRenderer.h.

Constructor & Destructor Documentation

◆ WorldUiRenderer() [1/2]

Engine::Rendering::WorldUiRenderer::WorldUiRenderer ( )
default

Referenced by operator=(), and WorldUiRenderer().

Here is the caller graph for this function:

◆ ~WorldUiRenderer()

Engine::Rendering::WorldUiRenderer::~WorldUiRenderer ( )

◆ WorldUiRenderer() [2/2]

Engine::Rendering::WorldUiRenderer::WorldUiRenderer ( const WorldUiRenderer & )
delete

References WorldUiRenderer().

Here is the call graph for this function:

Member Function Documentation

◆ cleanup()

void Engine::Rendering::WorldUiRenderer::cleanup ( Core::AssetManager * assetManager)

◆ createTargetImages()

void Engine::Rendering::WorldUiRenderer::createTargetImages ( Target & target) const
private

◆ destroyTarget()

void Engine::Rendering::WorldUiRenderer::destroyTarget ( Target & target,
Core::AssetManager * assetManager ) const
private

◆ ensureTarget()

Target & Engine::Rendering::WorldUiRenderer::ensureTarget ( Components::WidgetComponent & widget,
Core::AssetManager & assetManager )
private

◆ ensureWidgetTexture()

uint32_t Engine::Rendering::WorldUiRenderer::ensureWidgetTexture ( Components::WidgetComponent & widget,
Core::AssetManager & assetManager )
nodiscard

◆ init()

void Engine::Rendering::WorldUiRenderer::init ( Core::ApplicationContext * context,
uint32_t framesInFlight )

◆ operator=()

WorldUiRenderer & Engine::Rendering::WorldUiRenderer::operator= ( const WorldUiRenderer & )
delete

References WorldUiRenderer().

Here is the call graph for this function:

◆ pruneInactiveTargets()

void Engine::Rendering::WorldUiRenderer::pruneInactiveTargets ( const std::vector< Components::WidgetComponent * > & activeWidgets,
Core::AssetManager & assetManager )
private

◆ renderTarget()

void Engine::Rendering::WorldUiRenderer::renderTarget ( VkCommandBuffer commandBuffer,
Target & target,
uint32_t frameIndex ) const
private

◆ renderWidgets()

void Engine::Rendering::WorldUiRenderer::renderWidgets ( VkCommandBuffer commandBuffer,
uint32_t frameIndex,
RenderProcess & renderProcess,
Core::SceneManager * sceneManager,
Core::AssetManager * assetManager )

◆ transitionTargetsToColorAttachment()

void Engine::Rendering::WorldUiRenderer::transitionTargetsToColorAttachment ( VkCommandBuffer commandBuffer,
uint32_t frameIndex )
private

◆ transitionTargetsToShaderRead()

void Engine::Rendering::WorldUiRenderer::transitionTargetsToShaderRead ( VkCommandBuffer commandBuffer,
uint32_t frameIndex )
private

Member Data Documentation

◆ context_

Core::ApplicationContext* Engine::Rendering::WorldUiRenderer::context_ = nullptr
private

Definition at line 81 of file WorldUiRenderer.h.

◆ descriptorPool_

VkDescriptorPool Engine::Rendering::WorldUiRenderer::descriptorPool_ = VK_NULL_HANDLE
private

Definition at line 83 of file WorldUiRenderer.h.

◆ format_

VkFormat Engine::Rendering::WorldUiRenderer::format_ = VK_FORMAT_R8G8B8A8_UNORM
private

Definition at line 85 of file WorldUiRenderer.h.

◆ framesInFlight_

uint32_t Engine::Rendering::WorldUiRenderer::framesInFlight_ = 0
private

Definition at line 86 of file WorldUiRenderer.h.

◆ imguiContext_

ImGuiContext* Engine::Rendering::WorldUiRenderer::imguiContext_ = nullptr
private

Definition at line 82 of file WorldUiRenderer.h.

◆ initialized_

bool Engine::Rendering::WorldUiRenderer::initialized_ = false
private

Definition at line 87 of file WorldUiRenderer.h.

◆ sampler_

VkSampler Engine::Rendering::WorldUiRenderer::sampler_ = VK_NULL_HANDLE
private

Definition at line 84 of file WorldUiRenderer.h.

◆ targets_

std::unordered_map<Components::WidgetComponent *, Target> Engine::Rendering::WorldUiRenderer::targets_
private

Definition at line 89 of file WorldUiRenderer.h.


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