Castor3D 0.16.0
Multiplatform 3D engine
Classes | Public Types | Public Member Functions | Friends | List of all members
castor3d::OverlayRenderer Class Reference

#include <OverlayRenderer.hpp>

Inheritance diagram for castor3d::OverlayRenderer:
Inheritance graph
[legend]
Collaboration diagram for castor3d::OverlayRenderer:
Collaboration graph
[legend]

Classes

struct  ComputePipeline
 
struct  FontTextureDescriptorConnection
 
struct  OverlaysCommonData
 
struct  OverlaysComputeData
 
struct  OverlaysDrawData
 
struct  TextComputePipeline
 
struct  TextComputePipelineDescriptor
 

Public Types

using PanelVertexBufferPool = OverlayVertexBufferPoolT< OverlayCategory::Vertex, 6u >
 
using BorderPanelVertexBufferPool = OverlayVertexBufferPoolT< OverlayCategory::Vertex, 8u * 6u >
 
using TextVertexBufferPool = OverlayVertexBufferPoolT< TextOverlay::Vertex, MaxCharsPerOverlay >
 

Public Member Functions

C3D_API OverlayRenderer (RenderDevice const &device, Texture const &target, HdrConfigUbo const &hdrConfigUbo, crg::FramePassTimer &timer, VkCommandBufferLevel level=VK_COMMAND_BUFFER_LEVEL_PRIMARY)
 Constructor.
 
C3D_API void update (GpuUpdater &updater)
 Updates the render pass, GPU wise.
 
C3D_API OverlayPreparer beginPrepare (RenderDevice const &device, VkRenderPass renderPass, VkFramebuffer framebuffer, crg::Fence &fence)
 Begins the overlays preparation.
 
C3D_API void upload (UploadData &uploader)
 Uploads all GPU buffers to VRAM.
 
C3D_API void registerComputeCommands (crg::RecordContext &context, VkCommandBuffer commandBuffer) const
 Records compute commands.
 
ashes::CommandBuffer const & getCommands () const noexcept
 
castor::Size const & getSize () const noexcept
 
bool isSizeChanged () const noexcept
 
- Public Member Functions inherited from castor::OwnedBy< RenderSystem >
RenderSystem * getOwner () const
 

Friends

class OverlayPreparer
 

Additional Inherited Members

- Protected Member Functions inherited from castor::OwnedBy< RenderSystem >
 OwnedBy (RenderSystem &owner)
 Constructor.
 

Member Typedef Documentation

◆ BorderPanelVertexBufferPool

◆ PanelVertexBufferPool

◆ TextVertexBufferPool

Constructor & Destructor Documentation

◆ OverlayRenderer()

C3D_API castor3d::OverlayRenderer::OverlayRenderer ( RenderDevice const & device,
Texture const & target,
HdrConfigUbo const & hdrConfigUbo,
crg::FramePassTimer & timer,
VkCommandBufferLevel level = VK_COMMAND_BUFFER_LEVEL_PRIMARY )

Constructor.

Parameters
[in]deviceThe GPU device.
[in]targetThe target texture.
[in]hdrConfigUboThe HDR configuration used when rendering to an HDR screen.
[in]timerThe timer for this pass.
[in]levelThe command buffer level.

Member Function Documentation

◆ beginPrepare()

C3D_API OverlayPreparer castor3d::OverlayRenderer::beginPrepare ( RenderDevice const & device,
VkRenderPass renderPass,
VkFramebuffer framebuffer,
crg::Fence & fence )

Begins the overlays preparation.

Parameters
[in]deviceThe render device.
[in]renderPassThe render pass.
[in]framebufferThe framebuffer receiving the result.
[in]fenceThe fence to wait for before rendering.

◆ getCommands()

ashes::CommandBuffer const & castor3d::OverlayRenderer::getCommands ( ) const
inlinenoexcept

◆ getSize()

castor::Size const & castor3d::OverlayRenderer::getSize ( ) const
inlinenoexcept

◆ isSizeChanged()

bool castor3d::OverlayRenderer::isSizeChanged ( ) const
inlinenoexcept

◆ registerComputeCommands()

C3D_API void castor3d::OverlayRenderer::registerComputeCommands ( crg::RecordContext & context,
VkCommandBuffer commandBuffer ) const

Records compute commands.

Parameters
[in]contextThe recording context.
[in]commandBufferThe command buffer on which commands are recorded.

◆ update()

C3D_API void castor3d::OverlayRenderer::update ( GpuUpdater & updater)

Updates the render pass, GPU wise.

Parameters
[in,out]updaterThe update data.

◆ upload()

C3D_API void castor3d::OverlayRenderer::upload ( UploadData & uploader)

Uploads all GPU buffers to VRAM.

Parameters
[in,out]uploaderReceives the upload requests.

Friends And Related Symbol Documentation

◆ OverlayPreparer

friend class OverlayPreparer
friend

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