![]() |
Skylicht Engine
|
This object class is similar to CRenderMesh but is designed for optimized instanced rendering. More...
#include <RenderMesh/CRenderMeshInstancing.h>
Public Member Functions | |
| virtual void | initComponent () |
| virtual void | updateComponent () |
| virtual CObjectSerializable * | createSerializable () |
| virtual void | loadSerializable (CObjectSerializable *object) |
| virtual void | refreshModelAndMaterial () |
| virtual void | initFromPrefab (CEntityPrefab *prefab) |
| virtual CEntity * | spawn () |
| virtual CEntity * | spawn (const core::matrix4 &transform) |
| const std::string & | getMeshResource () |
| const std::string & | getMaterialResource () |
| void | initFromMeshFile (const char *path, bool loadNormalMap=true, bool loadTexcoord2=false) |
| void | initMaterialFromFile (const char *material) |
| void | initMaterial (ArrayMaterial &materials, bool cloneMaterial=false) |
| void | applyShareTransformBuffer () |
| void | applyShareMaterialBuffer () |
| int | getMaterialCount () |
| CMaterial * | getMaterial (int i) |
| core::array< CEntity * > & | getBaseEntities () |
| std::vector< CRenderMeshData * > & | getRenderers () |
| std::vector< CWorldTransformData * > & | getRenderTransforms () |
| std::vector< CWorldTransformData * > & | getAllTransforms () |
| Public Member Functions inherited from Skylicht::CEntityHandler | |
| virtual void | onUpdateCullingLayer (u32 mask) |
| CEntity * | searchEntityByID (const char *id) |
| virtual CEntity * | createEntity () |
| virtual CEntity * | createEntity (CEntity *parent) |
| virtual void | removeEntity (CEntity *entity) |
| virtual void | removeAllEntities () |
| void | regenerateEntityId () |
| core::array< CEntity * > & | getEntities () |
| int | getEntityCount () |
| void | getEntitiesTransforms (core::array< core::matrix4 > &result) |
| void | setShadowCasting (bool b) |
| bool | isShadowCasting () |
| Public Member Functions inherited from Skylicht::CComponentSystem | |
| const char * | getName () |
| virtual void | reset () |
| virtual void | startComponent () |
| virtual void | endUpdate () |
| virtual void | onEnable (bool b) |
| void | setEnable (bool b) |
| bool | isEnable () |
| CGameObject * | getGameObject () |
| void | setEnableSerializable (bool b) |
| bool | isSerializable () |
| void | addLinkComponent (CComponentSystem *comp) |
| void | removeAllLink () |
| Public Member Functions inherited from Skylicht::IActivatorObject | |
| virtual | ~IActivatorObject () |
| Virtual destructor for polymorphic activator objects. | |
Protected Member Functions | |
| virtual void | releaseMaterial () |
| virtual void | releaseEntities () |
| virtual void | releaseBaseEntities () |
| void | addRendererInstancing (CEntity *entity, CRenderMeshData *baseRenderMesh, CWorldTransformData *baseTransform) |
| void | addMaterial (CMaterial *material) |
| Protected Member Functions inherited from Skylicht::CEntityHandler | |
| void | setEntities (CEntity **entities, u32 count) |
| void | removeChilds (CEntity *entity) |
| Protected Member Functions inherited from Skylicht::CComponentSystem | |
| void | setOwner (CGameObject *obj) |
Protected Attributes | |
| CEntity * | m_root |
| core::array< CEntity * > | m_baseEntities |
| std::vector< CWorldTransformData * > | m_renderTransforms |
| std::vector< CWorldTransformData * > | m_transforms |
| std::vector< CRenderMeshData * > | m_renderers |
| ArrayMaterial | m_materials |
| std::string | m_meshFile |
| std::string | m_materialFile |
| bool | m_loadTexcoord2 |
| bool | m_loadNormal |
| bool | m_fixInverseNormal |
| IVertexBuffer * | m_instancingMaterials |
| IVertexBuffer * | m_instancingTransform |
| IVertexBuffer * | m_instancingLighting |
| int | m_shareDataTransform |
| int | m_shareDataMaterials |
| Protected Attributes inherited from Skylicht::CEntityHandler | |
| core::array< CEntity * > | m_entities |
| bool | m_shadowCasting |
| Protected Attributes inherited from Skylicht::CComponentSystem | |
| CGameObject * | m_gameObject |
| bool | m_enable |
| bool | m_serializable |
| std::vector< CComponentSystem * > | m_linkComponent |
Additional Inherited Members | |
| Static Public Member Functions inherited from Skylicht::CComponentSystem | |
| static int | useComponent (CComponentSystem *used) |
This object class is similar to CRenderMesh but is designed for optimized instanced rendering.
Instead of creating multiple game objects, CRenderMeshInstancing limits this to optimize the number of update calls and the total number of entities by using a single game object.
Instead, a model becomes a child entity that stores its transform data.
|
virtual |
Reimplemented from Skylicht::CComponentSystem.
|
virtual |
Reimplemented from Skylicht::CEntityHandler.
|
virtual |
Reimplemented from Skylicht::CComponentSystem.
|
virtual |
Reimplemented from Skylicht::CEntityHandler.
|
virtual |
Reimplemented from Skylicht::CEntityHandler.