SpiecsEngine
 
Loading...
Searching...
No Matches

◆ OnCreatePack()

bool Spices::MeshPack::OnCreatePack ( bool isCreateBuffer = true)
virtual

This interface is used for build specific mesh pack data.

Parameters
[in]isCreateBufferWhether it needs to create buffer.
Returns
Returns true if copy resource from Pool.

Copy Data from ResourcePool.

Copy Data from ResourcePool.

Reimplemented in Spices::GltfPack, Spices::PlanePack, Spices::CubePack, Spices::SpherePack, and Spices::FilePack.

Definition at line 119 of file MeshPack.cpp.

120 {
122
124
126
130 m_Desc = ptr->m_Desc.Copy();
131 m_MeshResource = ptr->m_MeshResource;
132 m_NTasks = ptr->m_NTasks;
133 m_MeshTaskIndirectDrawCommand = ptr->m_MeshTaskIndirectDrawCommand;
134 m_Accel = ptr->m_Accel;
135 m_IsRequiredAccel = ptr->m_IsRequiredAccel.load();
136
137 if (m_Material)
138 {
139 m_Desc.UpdatematerialParameterAddress(m_Material->GetMaterialParamsAddress());
140 }
141
142 return true;
143 }
#define SPICES_PROFILE_ZONE
AccelKHR m_Accel
This meshPack blas accel.
Definition MeshPack.h:368
std::string m_MeshPackName
MeshPack Name.
Definition MeshPack.h:321
MeshResource m_MeshResource
Mesh Resources.
Definition MeshPack.h:331
VkDrawMeshTasksIndirectCommandNV m_MeshTaskIndirectDrawCommand
Draw Command.
Definition MeshPack.h:383
std::atomic_bool m_IsRequiredAccel
True if required accel by BLAS Build.
Definition MeshPack.h:373
MeshDesc m_Desc
Mesh Description.
Definition MeshPack.h:358
std::shared_ptr< Material > m_Material
specific material pointer.
Definition MeshPack.h:341
uint32_t m_NTasks
Task Shader Work Group Size.
Definition MeshPack.h:336
bool m_Instanced
If this mesh pack needs instanced.
Definition MeshPack.h:326
static bool Has(const std::string &name)
Determine if specific resource is exist.
static std::shared_ptr< T > Access(const std::string &path)
Access a resource by path directly. Do nothing if resource is not found.
MeshDesc Copy() const
Copy a MeshDesc from this.
Definition MeshPack.cpp:61

Referenced by Spices::GltfPack::OnCreatePack(), Spices::PlanePack::OnCreatePack(), Spices::CubePack::OnCreatePack(), Spices::SpherePack::OnCreatePack(), and Spices::FilePack::OnCreatePack().