MCPcopy Create free account
hub / github.com/defold/defold / ClearScene

Function ClearScene

engine/modelc/src/modelimporter.cpp:193–251  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

191}
192
193void ClearScene(Scene* scene)
194{
195 if (!scene)
196 return;
197 if (!scene->m_OpaqueSceneData)
198 return;
199
200 scene->m_DestroyFn(scene);
201 scene->m_OpaqueSceneData = 0;
202
203 for (uint32_t i = 0; i < scene->m_Nodes.Size(); ++i)
204 DestroyNode(&scene->m_Nodes[i]);
205 scene->m_Nodes.SetCapacity(0);
206
207 scene->m_RootNodes.SetCapacity(0);
208
209 for (uint32_t i = 0; i < scene->m_Models.Size(); ++i)
210 DestroyModel(&scene->m_Models[i]);
211 scene->m_Models.SetCapacity(0);
212
213 for (uint32_t i = 0; i < scene->m_Skins.Size(); ++i)
214 DestroySkin(&scene->m_Skins[i]);
215 scene->m_Skins.SetCapacity(0);
216
217 for (uint32_t i = 0; i < scene->m_Animations.Size(); ++i)
218 DestroyAnimation(&scene->m_Animations[i]);
219 scene->m_Animations.SetCapacity(0);
220
221 for (uint32_t i = 0; i < scene->m_Materials.Size(); ++i)
222 DestroyMaterial(&scene->m_Materials[i]);
223 scene->m_Materials.SetCapacity(0);
224
225 for (uint32_t i = 0; i < scene->m_DynamicMaterials.Size(); ++i)
226 {
227 DestroyMaterial(scene->m_DynamicMaterials[i]);
228 delete scene->m_DynamicMaterials[i];
229 }
230 scene->m_DynamicMaterials.SetCapacity(0);
231
232 for (uint32_t i = 0; i < scene->m_Buffers.Size(); ++i)
233 DestroyBuffer(&scene->m_Buffers[i]);
234 scene->m_Buffers.SetCapacity(0);
235
236 for (uint32_t i = 0; i < scene->m_Images.Size(); ++i)
237 DestroyImage(&scene->m_Images[i]);
238 scene->m_Images.SetCapacity(0);
239
240 for (uint32_t i = 0; i < scene->m_Textures.Size(); ++i)
241 DestroyTexture(&scene->m_Textures[i]);
242 scene->m_Textures.SetCapacity(0);
243
244 for (uint32_t i = 0; i < scene->m_Samplers.Size(); ++i)
245 DestroySampler(&scene->m_Samplers[i]);
246 scene->m_Samplers.SetCapacity(0);
247
248 scene->m_LoadFinalizeFn = 0;
249 scene->m_ValidateFn = 0;
250 scene->m_DestroyFn = 0;

Callers 2

LoadGltfFromBufferFunction · 0.85
DestroySceneFunction · 0.85

Calls 11

DestroyNodeFunction · 0.85
DestroyModelFunction · 0.85
DestroySkinFunction · 0.85
DestroyAnimationFunction · 0.85
DestroyMaterialFunction · 0.85
DestroySamplerFunction · 0.85
DestroyBufferFunction · 0.70
DestroyImageFunction · 0.70
DestroyTextureFunction · 0.70
SizeMethod · 0.45
SetCapacityMethod · 0.45

Tested by

no test coverage detected