Castor3D 0.13.0
Multiplatform 3D engine
|
#include <BillboardList.hpp>
Types publics | |
using | IdRenderNode = std::pair< uint32_t, BillboardRenderNode const * > |
using | Quad = std::array< BillboardVertex, 4u > |
Fonctions membres publiques | |
C3D_API | BillboardBase (Scene &scene, SceneNode *node, ashes::PipelineVertexInputStateCreateInfoPtr vertexLayout, uint32_t vertexStride, GpuBufferOffsetT< uint8_t > vertexBuffer={}) |
Constructeur. Plus de détails... | |
C3D_API | ~BillboardBase () |
Destructeur. Plus de détails... | |
C3D_API bool | initialise (RenderDevice const &device, uint32_t count) |
Initialise les éléments GPU. Plus de détails... | |
C3D_API void | cleanup (RenderDevice const &device) |
Nettoie les elements GPU. Plus de détails... | |
C3D_API void | update (GpuUpdater &updater) |
Met à jour la passe de rendu, au niveau GPU. Plus de détails... | |
C3D_API uint32_t | getId (Pass const &pass) const |
Récupère l'ID de l'objet dans le buffer de modèles. Plus de détails... | |
C3D_API BillboardRenderNode const * | getRenderNode (Pass const &pass) const |
Récupère le noeud de rendu de l'objet. Plus de détails... | |
C3D_API void | setId (Pass const &pass, BillboardRenderNode const *renderNode, uint32_t id) |
Définit le noeud de rendu de l'objet et son ID dans le buffer de modèles. Plus de détails... | |
C3D_API SubmeshFlags | getSubmeshFlags () const |
C3D_API ProgramFlags | getProgramFlags () const |
MaterialRPtr | getMaterial () const |
castor::Point2f const & | getDimensions () const |
uint32_t | getCount () const |
bool | isInitialised () const |
GpuBufferOffsetT< uint8_t > const & | getVertexBuffer () const |
GpuBufferOffsetT< uint8_t > & | getVertexBuffer () |
GeometryBuffers const & | getGeometryBuffers () const |
ObjectBufferOffset const & | getBufferOffsets () const |
Scene const & | getParentScene () const |
Scene & | getParentScene () |
SceneNode * | getNode () const |
BillboardType | getBillboardType () const |
BillboardSize | getBillboardSize () const |
std::unordered_map< Pass const *, IdRenderNode > const & | getIds () const |
void | setDimensions (castor::Point2f const &value) |
void | setCenterOffset (uint32_t value) |
void | setNode (SceneNode &value) |
void | setBillboardType (BillboardType value) |
void | setBillboardSize (BillboardSize value) |
C3D_API void | setMaterial (MaterialRPtr value) |
C3D_API void | setCount (uint32_t value) |
Fonctions membres publiques hérités de castor3d::RenderedObject | |
C3D_API void | fillEntry (Pass const &pass, SceneNode const &sceneNode, uint32_t meshletCount, ModelBufferConfiguration &modelData) |
void | setVisible (bool value) |
void | setShadowCaster (bool value) |
void | setShadowReceiver (bool value) |
void | setCullable (bool value) |
bool | isVisible () const |
bool | isShadowCaster () const |
bool | isShadowReceiver () const |
bool | isCullable () const |
Attributs protégés | |
Scene & | m_scene |
SceneNode * | m_node {} |
MaterialRPtr | 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 |
GeometryBuffers | m_geometryBuffers |
bool | m_needUpdate { true } |
bool | m_initialised { false } |
uint32_t | m_count { 0u } |
uint32_t | m_centerOffset { 0u } |
BillboardType | m_billboardType { BillboardType::eCylindrical } |
BillboardSize | m_billboardSize { BillboardSize::eDynamic } |
std::unordered_map< Pass const *, IdRenderNode > | m_ids {} |
using castor3d::BillboardBase::IdRenderNode = std::pair< uint32_t, BillboardRenderNode const * > |
using castor3d::BillboardBase::Quad = std::array< BillboardVertex, 4u > |
C3D_API castor3d::BillboardBase::BillboardBase | ( | Scene & | scene, |
SceneNode * | node, | ||
ashes::PipelineVertexInputStateCreateInfoPtr | vertexLayout, | ||
uint32_t | vertexStride, | ||
GpuBufferOffsetT< uint8_t > | vertexBuffer = {} |
||
) |
Constructeur.
[in] | scene | La scène parente. |
[in] | node | Le noeud de scène parent. |
[in] | vertexLayout | Le layout du tampon de sommets. |
[in] | vertexStride | Le stride du tampon de sommets. |
[in] | vertexBuffer | Le tampon de sommets. |
C3D_API castor3d::BillboardBase::~BillboardBase | ( | ) |
Destructeur.
C3D_API void castor3d::BillboardBase::cleanup | ( | RenderDevice const & | device | ) |
Nettoie les elements GPU.
device | Le device actuel. |
|
inline |
Références m_billboardSize.
|
inline |
Références m_billboardType.
|
inline |
Références castor3d::GeometryBuffers::bufferOffset, et getGeometryBuffers().
|
inline |
Références m_count.
|
inline |
Références m_dimensions.
|
inline |
Références m_geometryBuffers.
Référencé par getBufferOffsets().
Récupère l'ID de l'objet dans le buffer de modèles.
[in] | pass | La passe de matériau. |
|
inline |
Références m_ids.
|
inline |
Références m_material.
C3D_API ProgramFlags castor3d::BillboardBase::getProgramFlags | ( | ) | const |
C3D_API BillboardRenderNode const * castor3d::BillboardBase::getRenderNode | ( | Pass const & | pass | ) | const |
Récupère le noeud de rendu de l'objet.
[in] | pass | La passe de matériau. |
C3D_API SubmeshFlags castor3d::BillboardBase::getSubmeshFlags | ( | ) | const |
name Accesseurs.
|
inline |
Références m_vertexBuffer.
|
inline |
Références m_vertexBuffer.
C3D_API bool castor3d::BillboardBase::initialise | ( | RenderDevice const & | device, |
uint32_t | count | ||
) |
Initialise les éléments GPU.
device | Le device actuel. | |
[in] | count | Le nombre d'éléments. |
true
si tout s'est bien passé.
|
inline |
Références m_initialised.
|
inline |
Références m_billboardSize.
|
inline |
Références m_billboardType.
|
inline |
Références m_centerOffset.
C3D_API void castor3d::BillboardBase::setCount | ( | uint32_t | value | ) |
|
inline |
name Mutateurs.
Références m_dimensions.
C3D_API void castor3d::BillboardBase::setId | ( | Pass const & | pass, |
BillboardRenderNode const * | renderNode, | ||
uint32_t | id | ||
) |
Définit le noeud de rendu de l'objet et son ID dans le buffer de modèles.
[in] | pass | La passe de matériau. |
[in] | renderNode | Le noeud de rendu. |
[in] | id | L'ID. |
C3D_API void castor3d::BillboardBase::setMaterial | ( | MaterialRPtr | value | ) |
C3D_API void castor3d::BillboardBase::update | ( | GpuUpdater & | updater | ) |
Met à jour la passe de rendu, au niveau GPU.
[in,out] | updater | Les données d'update. |
|
protected |
Référencé par getBillboardSize(), et setBillboardSize().
|
protected |
Référencé par getBillboardType(), et setBillboardType().
|
protected |
|
protected |
Référencé par setCenterOffset().
|
protected |
Référencé par getCount().
|
protected |
Référencé par getDimensions(), et setDimensions().
|
protected |
Référencé par getGeometryBuffers().
|
protected |
Référencé par getIds().
|
protected |
Référencé par isInitialised().
|
protected |
Référencé par getMaterial().
|
protected |
Référencé par castor3d::BillboardList::setAt().
|
protected |
|
protected |
Référencé par getParentScene().
|
protected |
Référencé par getVertexBuffer().
|
protected |
|
protected |