Castor3D 0.12.0
Multiplatform 3D engine
Classes | Public Types | Public Member Functions | 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  OverlayGeometryBuffers
 
struct  OverlayRenderNode
 
class  Preparer
 
struct  VertexBufferIndexT
 
struct  VertexBufferPoolT
 

Public Types

template<typename VertexT , uint32_t CountT>
using VertexBufferPoolPtrT = std::unique_ptr< VertexBufferPoolT< VertexT, CountT > >
 
using PanelVertexBufferPool = VertexBufferPoolT< OverlayCategory::Vertex, 6u >
 
using PanelVertexBufferIndex = PanelVertexBufferPool::MyBufferIndex
 
using BorderPanelVertexBufferPool = VertexBufferPoolT< OverlayCategory::Vertex, 8u *6u >
 
using BorderPanelVertexBufferIndex = BorderPanelVertexBufferPool::MyBufferIndex
 
using TextVertexBufferPool = VertexBufferPoolT< TextOverlay::Vertex, 600u >
 
using TextVertexBufferIndex = TextVertexBufferPool::MyBufferIndex
 

Public Member Functions

C3D_API OverlayRenderer (RenderDevice const &device, Texture const &target, VkCommandBufferLevel level=VK_COMMAND_BUFFER_LEVEL_PRIMARY)
 Constructor. More...
 
C3D_API ~OverlayRenderer ()
 Destructor. More...
 
C3D_API void update (GpuUpdater &updater)
 Updates the render pass, GPU wise. More...
 
C3D_API void beginPrepare (FramePassTimer const &timer)
 Begins the overlays preparation. More...
 
C3D_API void endPrepare (FramePassTimer const &timer)
 Ends the overlays preparation. More...
 
C3D_API void beginPrepare (VkRenderPass renderPass, VkFramebuffer framebuffer)
 Begins the overlays preparation. More...
 
C3D_API void endPrepare ()
 Ends the overlays preparation. More...
 
C3D_API void upload (ashes::CommandBuffer const &cb)
 Uploads all GPU buffers to VRAM. More...
 
C3D_API crg::SemaphoreWaitArray render (FramePassTimer &timer, ashes::Queue const &queue, crg::SemaphoreWaitArray const &toWait)
 Ends the overlays preparation. More...
 
ashes::CommandBuffer const & getCommands () const
 
castor::Size const & getSize () const
 
bool isSizeChanged () const
 
Preparer getPreparer (RenderDevice const &device)
 
ashes::Semaphore const & getSemaphore ()
 

Member Typedef Documentation

◆ BorderPanelVertexBufferIndex

◆ BorderPanelVertexBufferPool

◆ PanelVertexBufferIndex

◆ PanelVertexBufferPool

◆ TextVertexBufferIndex

◆ TextVertexBufferPool

◆ VertexBufferPoolPtrT

template<typename VertexT , uint32_t CountT>
using castor3d::OverlayRenderer::VertexBufferPoolPtrT = std::unique_ptr< VertexBufferPoolT< VertexT, CountT > >

Constructor & Destructor Documentation

◆ OverlayRenderer()

C3D_API castor3d::OverlayRenderer::OverlayRenderer ( RenderDevice const &  device,
Texture const &  target,
VkCommandBufferLevel  level = VK_COMMAND_BUFFER_LEVEL_PRIMARY 
)

Constructor.

Parameters
[in]deviceThe GPU device.
[in]targetThe target texture.
[in]levelThe command buffer level.

◆ ~OverlayRenderer()

C3D_API castor3d::OverlayRenderer::~OverlayRenderer ( )

Destructor.

Member Function Documentation

◆ beginPrepare() [1/2]

C3D_API void castor3d::OverlayRenderer::beginPrepare ( FramePassTimer const &  timer)

Begins the overlays preparation.

Parameters
[in]timerThe render pass timer.

◆ beginPrepare() [2/2]

C3D_API void castor3d::OverlayRenderer::beginPrepare ( VkRenderPass  renderPass,
VkFramebuffer  framebuffer 
)

Begins the overlays preparation.

Parameters
[in]renderPassThe render pass.
[in]framebufferThe framebuffer receiving the result.

◆ endPrepare() [1/2]

C3D_API void castor3d::OverlayRenderer::endPrepare ( )

Ends the overlays preparation.

◆ endPrepare() [2/2]

C3D_API void castor3d::OverlayRenderer::endPrepare ( FramePassTimer const &  timer)

Ends the overlays preparation.

Parameters
[in]timerThe render pass timer.

◆ getCommands()

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

name Getters.

References castor3d::CommandsSemaphore::commandBuffer.

◆ getPreparer()

Preparer castor3d::OverlayRenderer::getPreparer ( RenderDevice const &  device)
inline

◆ getSemaphore()

ashes::Semaphore const & castor3d::OverlayRenderer::getSemaphore ( )
inline

◆ getSize()

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

◆ isSizeChanged()

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

◆ render()

C3D_API crg::SemaphoreWaitArray castor3d::OverlayRenderer::render ( FramePassTimer &  timer,
ashes::Queue const &  queue,
crg::SemaphoreWaitArray const &  toWait 
)

Ends the overlays preparation.

Parameters
[in]timerThe render pass timer.
[in]queueThe queue receiving the render commands.
[in]toWaitThe semaphore from the previous render pass.
Returns
The semaphores signaled by this render.

◆ 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 ( ashes::CommandBuffer const &  cb)

Uploads all GPU buffers to VRAM.

Parameters
[in]cbThe command buffer on which transfer commands are recorded.

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