Skip to main content

MeshUploadSystem Class Template

Declaration

template <typename THandle, typename TCommandBuffer = NullCommandBuffer, size_t TCapacity = DEFAULT_MESH_POOL_CAPACITY> class helios::engine::rendering::mesh::systems::MeshUploadSystem<THandle, TCommandBuffer, TCapacity> { ... }

Public Member Typedefs Index

template < ... >
usingEngineRoleTag = SystemRole
template < ... >
usingCommandBuffer_type = TCommandBuffer

Public Constructors Index

template < ... >
MeshUploadSystem (size_t capacity=TCapacity)

Public Member Functions Index

template < ... >
voidupdate (UpdateContext &updateContext, TCommandBuffer &cmdBuffer) noexcept

Collects mesh handles and queues one batch upload command. More...

Private Member Attributes Index

template < ... >
std::vector< THandle >meshHandles_
template < ... >
size_tcapacity_

Definition at line 36 of file MeshUploadSystem.ixx.

Public Member Typedefs

CommandBuffer_type

template <typename THandle, typename TCommandBuffer = NullCommandBuffer, size_t TCapacity = DEFAULT_MESH_POOL_CAPACITY>
using helios::engine::rendering::mesh::systems::MeshUploadSystem< THandle, TCommandBuffer, TCapacity >::CommandBuffer_type = TCommandBuffer

Definition at line 45 of file MeshUploadSystem.ixx.

EngineRoleTag

template <typename THandle, typename TCommandBuffer = NullCommandBuffer, size_t TCapacity = DEFAULT_MESH_POOL_CAPACITY>
using helios::engine::rendering::mesh::systems::MeshUploadSystem< THandle, TCommandBuffer, TCapacity >::EngineRoleTag = SystemRole

Definition at line 44 of file MeshUploadSystem.ixx.

Public Constructors

MeshUploadSystem()

template <typename THandle, typename TCommandBuffer = NullCommandBuffer, size_t TCapacity = DEFAULT_MESH_POOL_CAPACITY>
helios::engine::rendering::mesh::systems::MeshUploadSystem< THandle, TCommandBuffer, TCapacity >::MeshUploadSystem (size_t capacity=TCapacity)
inline explicit

Definition at line 47 of file MeshUploadSystem.ixx.

47 explicit MeshUploadSystem(size_t capacity = TCapacity) : capacity_(capacity) {
48 meshHandles_.reserve(capacity);
49 }

Reference helios::engine::rendering::registerComponents.

Public Member Functions

update()

template <typename THandle, typename TCommandBuffer = NullCommandBuffer, size_t TCapacity = DEFAULT_MESH_POOL_CAPACITY>
void helios::engine::rendering::mesh::systems::MeshUploadSystem< THandle, TCommandBuffer, TCapacity >::update (UpdateContext & updateContext, TCommandBuffer & cmdBuffer)
inline noexcept

Collects mesh handles and queues one batch upload command.

Parameters
updateContext

Frame update context.

Definition at line 56 of file MeshUploadSystem.ixx.

57
58 for (auto [entity, mdc, murc, ac] : updateContext.view<
63 >().whereEnabled()) {
64 meshHandles_.push_back(entity.handle());
65 }
66
67 cmdBuffer.template add<MeshBatchUploadCommand<THandle>>(std::move(meshHandles_));
68
69 meshHandles_.clear();
70 meshHandles_.reserve(capacity_);
71
72
73 }

Reference helios::engine::rendering::registerComponents.

Private Member Attributes

capacity_

template <typename THandle, typename TCommandBuffer = NullCommandBuffer, size_t TCapacity = DEFAULT_MESH_POOL_CAPACITY>
size_t helios::engine::rendering::mesh::systems::MeshUploadSystem< THandle, TCommandBuffer, TCapacity >::capacity_

Definition at line 40 of file MeshUploadSystem.ixx.

40 size_t capacity_;

meshHandles_

template <typename THandle, typename TCommandBuffer = NullCommandBuffer, size_t TCapacity = DEFAULT_MESH_POOL_CAPACITY>
std::vector<THandle> helios::engine::rendering::mesh::systems::MeshUploadSystem< THandle, TCommandBuffer, TCapacity >::meshHandles_

Definition at line 38 of file MeshUploadSystem.ixx.

38 std::vector<THandle> meshHandles_;

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


Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.9.8.