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 < ... > | |
| using | EngineRoleTag = SystemRole |
template < ... > | |
| using | CommandBuffer_type = TCommandBuffer |
Public Constructors Index
template < ... > | |
| MeshUploadSystem (size_t capacity=TCapacity) | |
Public Member Functions Index
template < ... > | |
| void | update (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_t | capacity_ |
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>
|
Definition at line 45 of file MeshUploadSystem.ixx.
45 using CommandBuffer_type = TCommandBuffer;
EngineRoleTag
template <typename THandle, typename TCommandBuffer = NullCommandBuffer, size_t TCapacity = DEFAULT_MESH_POOL_CAPACITY>
|
Definition at line 44 of file MeshUploadSystem.ixx.
44 using EngineRoleTag = SystemRole;
Public Constructors
MeshUploadSystem()
template <typename THandle, typename TCommandBuffer = NullCommandBuffer, size_t TCapacity = DEFAULT_MESH_POOL_CAPACITY>
| inline explicit |
Definition at line 47 of file MeshUploadSystem.ixx.
Public Member Functions
update()
template <typename THandle, typename TCommandBuffer = NullCommandBuffer, size_t TCapacity = DEFAULT_MESH_POOL_CAPACITY>
| inline noexcept |
Collects mesh handles and queues one batch upload command.
- Parameters
-
updateContext Frame update context.
Definition at line 56 of file MeshUploadSystem.ixx.
56 void update(UpdateContext& updateContext, TCommandBuffer& cmdBuffer) noexcept {
57
58 for (auto [entity, mdc, murc, ac] : updateContext.view<
59 THandle,
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 }
Private Member Attributes
capacity_
template <typename THandle, typename TCommandBuffer = NullCommandBuffer, size_t TCapacity = DEFAULT_MESH_POOL_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>
|
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.