![]() |
Castor3D 0.17.0
Multiplatform 3D engine
|
#include <BillboardList.hpp>


Public Types | |
| using | IdRenderNode = castor::Pair< uint32_t, BillboardRenderNode const * > |
| using | Quad = castor::Array< BillboardVertex, 4u > |
Public Member Functions | |
| C3D_API | BillboardBase (Scene &scene, SceneNode *node, ashes::PipelineVertexInputStateCreateInfoPtr vertexLayout, uint32_t vertexStride, GpuBufferOffsetT< uint8_t > vertexBuffer={}) |
| Constructor. | |
| virtual C3D_API | ~BillboardBase () noexcept=default |
| Destructor. | |
| C3D_API bool | initialise (RenderDevice const &device, uint32_t count) |
| Initialises GPU side elements. | |
| C3D_API void | cleanup (RenderDevice const &device) |
| Cleans GPU side elements up. | |
| C3D_API void | update (GpuUpdater &updater) |
| Updates the render pass, GPU wise. | |
| C3D_API uint32_t | getId (Pass const &pass) const |
| Retrieves the object ID in models buffer. | |
| C3D_API BillboardRenderNode const * | getRenderNode (Pass const &pass) const |
| Retrieves the object render node. | |
| C3D_API void | fillData (BillboardUboConfiguration &data) const |
| Fills the given data with this billboard's properties. | |
| C3D_API void | setId (Pass const &pass, BillboardRenderNode const *renderNode, uint32_t id) |
| Sets the object render node and ID in models buffer. | |
| C3D_API ProgramFlags | getProgramFlags () const |
| SubmeshComponentCombineID | getComponentCombineID () const |
| MaterialObs | getMaterial () const |
| castor::Point2f const & | getDimensions () const |
| uint32_t | getCount () const |
| bool | isInitialised () const |
| GpuBufferOffsetT< uint8_t > const & | getVertexBuffer () const |
| GpuBufferOffsetT< uint8_t > & | getVertexBuffer () |
| uint32_t | getVertexStride () const noexcept |
| GeometryBuffers const & | getGeometryBuffers () const |
| ObjectBufferOffset const & | getBufferOffsets () const |
| Scene const & | getParentScene () const |
| Scene & | getParentScene () |
| SceneNode * | getNode () const |
| BillboardType | getBillboardType () const |
| BillboardSize | getBillboardSize () const |
| castor::UnorderedMap< Pass const *, IdRenderNode > const & | getIds () const |
| ashes::DescriptorSetLayout const & | getDescriptorLayout () const |
| ashes::DescriptorSet const & | getDescriptorSet () const |
| void | setDimensions (castor::Point2f const &value) |
| void | setCenterOffset (uint32_t value) |
| void | setNode (SceneNode &value) |
| void | setBillboardType (BillboardType value) |
| void | setBillboardSize (BillboardSize value) |
| void | setGpuFilled (bool value) |
| C3D_API void | setMaterial (MaterialObs value) |
| C3D_API void | setCount (uint32_t value) |
Public Member Functions inherited from castor3d::RenderedObject | |
| C3D_API void | fillEntry (uint32_t nodeId, Pass const &pass, Geometry const &object, uint32_t meshletCount, uint32_t indexCount, uint32_t vertexCount, ModelBufferConfiguration &modelData) |
| C3D_API void | fillEntry (uint32_t nodeId, Pass const &pass, BillboardBase const &object, uint32_t meshletCount, uint32_t indexCount, uint32_t vertexCount, ModelBufferConfiguration &modelData) |
| C3D_API void | fillEntryOffsets (uint32_t nodeId, VkDeviceSize vertexOffset, VkDeviceSize indexOffset, VkDeviceSize meshletOffset) |
| void | setVisible (bool value) noexcept |
| void | setShadowCaster (bool value) noexcept |
| void | setShadowReceiver (bool value) noexcept |
| void | setCullable (bool value) noexcept |
| bool | isVisible () const noexcept |
| bool | isShadowCaster () const noexcept |
| bool | isShadowReceiver () const noexcept |
| bool | isCullable () const noexcept |
Protected Attributes | |
| Scene & | m_scene |
| SceneNode * | m_node {} |
| MaterialObs | m_material {} |
| castor::Point2f | m_dimensions |
| castor::Point3f | m_cameraPosition |
| GpuBufferOffsetT< uint8_t > | m_vertexBuffer |
| ashes::PipelineVertexInputStateCreateInfoPtr | m_vertexLayout |
| uint32_t | m_vertexStride |
| ashes::PipelineVertexInputStateCreateInfoPtr | m_quadLayout |
| ObjectBufferOffset | m_bufferOffsets |
| GeometryBuffers | m_geometryBuffers |
| bool | m_needUpdate { true } |
| bool | m_initialised { false } |
| bool | m_gpuFilled { false } |
| uint32_t | m_count { 0u } |
| uint32_t | m_centerOffset { 0u } |
| BillboardType | m_billboardType { BillboardType::eCylindrical } |
| BillboardSize | m_billboardSize { BillboardSize::eDynamic } |
| castor::UnorderedMap< Pass const *, IdRenderNode > | m_ids {} |
| SubmeshComponentCombine | m_proxyCombine |
| ashes::DescriptorSetLayoutPtr | m_descriptorLayout |
| ashes::DescriptorSetPoolPtr | m_descriptorPool |
| ashes::DescriptorSetPtr | m_descriptorSet |
| using castor3d::BillboardBase::IdRenderNode = castor::Pair< uint32_t, BillboardRenderNode const * > |
| using castor3d::BillboardBase::Quad = castor::Array< BillboardVertex, 4u > |
| C3D_API castor3d::BillboardBase::BillboardBase | ( | Scene & | scene, |
| SceneNode * | node, | ||
| ashes::PipelineVertexInputStateCreateInfoPtr | vertexLayout, | ||
| uint32_t | vertexStride, | ||
| GpuBufferOffsetT< uint8_t > | vertexBuffer = {} ) |
Constructor.
| [in] | scene | The parent scene. |
| [in] | node | The parent scene node. |
| [in] | vertexLayout | The layout for the vertex buffer. |
| [in] | vertexStride | The vertex stride. |
| [in] | vertexBuffer | The vertex buffer. |
|
virtualdefaultnoexcept |
Destructor.
| C3D_API void castor3d::BillboardBase::cleanup | ( | RenderDevice const & | device | ) |
Cleans GPU side elements up.
| device | The current device. |
| C3D_API void castor3d::BillboardBase::fillData | ( | BillboardUboConfiguration & | data | ) | const |
Fills the given data with this billboard's properties.
| [out] | data | The data to fill. |
|
inline |
References m_billboardSize.
|
inline |
References m_billboardType.
|
inline |
References m_bufferOffsets.
|
inline |
References castor3d::SubmeshComponentCombine::baseId, and m_proxyCombine.
|
inline |
References m_count.
|
inline |
References m_descriptorLayout.
|
inline |
References m_descriptorSet.
|
inline |
References m_dimensions.
|
inline |
References m_geometryBuffers.
Retrieves the object ID in models buffer.
| [in] | pass | The material pass. |
|
inline |
References m_ids.
|
inline |
References m_material.
| C3D_API ProgramFlags castor3d::BillboardBase::getProgramFlags | ( | ) | const |
name Getters.
| C3D_API BillboardRenderNode const * castor3d::BillboardBase::getRenderNode | ( | Pass const & | pass | ) | const |
Retrieves the object render node.
| [in] | pass | The material pass. |
|
inline |
References m_vertexBuffer.
|
inline |
References m_vertexBuffer.
|
inlinenoexcept |
References m_vertexStride.
| C3D_API bool castor3d::BillboardBase::initialise | ( | RenderDevice const & | device, |
| uint32_t | count ) |
Initialises GPU side elements.
| device | The current device. | |
| [in] | count | The elements count. |
true if all is OK.
|
inline |
References m_initialised.
|
inline |
References m_billboardSize.
|
inline |
References m_billboardType.
|
inline |
References m_centerOffset.
| C3D_API void castor3d::BillboardBase::setCount | ( | uint32_t | value | ) |
|
inline |
name Setters.
References m_dimensions.
|
inline |
References m_gpuFilled.
| C3D_API void castor3d::BillboardBase::setId | ( | Pass const & | pass, |
| BillboardRenderNode const * | renderNode, | ||
| uint32_t | id ) |
Sets the object render node and ID in models buffer.
| [in] | pass | The material pass. |
| [in] | renderNode | The render node. |
| [in] | id | The ID. |
| C3D_API void castor3d::BillboardBase::setMaterial | ( | MaterialObs | value | ) |
| C3D_API void castor3d::BillboardBase::update | ( | GpuUpdater & | updater | ) |
Updates the render pass, GPU wise.
| [in,out] | updater | The update data. |
|
protected |
Referenced by getBillboardSize(), and setBillboardSize().
|
protected |
Referenced by getBillboardType(), and setBillboardType().
|
protected |
Referenced by getBufferOffsets().
|
protected |
|
protected |
Referenced by setCenterOffset().
|
protected |
Referenced by getCount().
|
protected |
Referenced by getDescriptorLayout().
|
protected |
|
protected |
Referenced by getDescriptorSet().
|
protected |
Referenced by getDimensions(), and setDimensions().
|
protected |
Referenced by getGeometryBuffers().
|
protected |
Referenced by setGpuFilled().
|
protected |
Referenced by getIds().
|
protected |
Referenced by isInitialised().
|
protected |
Referenced by getMaterial().
|
protected |
Referenced by castor3d::BillboardList::setAt().
|
protected |
Referenced by getComponentCombineID().
|
protected |
|
protected |
Referenced by getParentScene(), and getParentScene().
|
protected |
Referenced by getVertexBuffer(), and getVertexBuffer().
|
protected |
|
protected |
Referenced by getVertexStride().