MCPcopy Create free account
hub / github.com/NVIDIAGameWorks/Falcor / writeSceneData

Method writeSceneData

Source/Falcor/Scene/SceneCache.cpp:289–405  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

287 // SceneData
288
289 void SceneCache::writeSceneData(OutputStream& stream, const Scene::SceneData& sceneData)
290 {
291 writeMarker(stream, "Paths");
292 stream.write((uint32_t)sceneData.importPaths.size());
293 for (const auto& pPath: sceneData.importPaths) stream.write(pPath);
294
295 writeMarker(stream, "Dicts");
296 stream.write((uint32_t)sceneData.importDicts.size());
297 for (const auto& pDict: sceneData.importDicts) stream.write(pDict);
298
299 writeMarker(stream, "RenderSettings");
300 stream.write(sceneData.renderSettings);
301
302 writeMarker(stream, "Cameras");
303 stream.write((uint32_t)sceneData.cameras.size());
304 for (const auto& pCamera : sceneData.cameras) writeCamera(stream, pCamera);
305 stream.write(sceneData.selectedCamera);
306 stream.write(sceneData.cameraSpeed);
307
308 writeMarker(stream, "Lights");
309 stream.write((uint32_t)sceneData.lights.size());
310 for (const auto& pLight : sceneData.lights) writeLight(stream, pLight);
311
312 writeMarker(stream, "Grids");
313 stream.write((uint32_t)sceneData.grids.size());
314 for (const auto& pGrid : sceneData.grids) writeGrid(stream, pGrid);
315
316 writeMarker(stream, "GridVolumes");
317 stream.write((uint32_t)sceneData.gridVolumes.size());
318 for (const auto& pGridVolume : sceneData.gridVolumes) writeGridVolume(stream, pGridVolume, sceneData.grids);
319
320 writeMarker(stream, "EnvMap");
321 bool hasEnvMap = sceneData.pEnvMap != nullptr;
322 stream.write(hasEnvMap);
323 if (hasEnvMap) writeEnvMap(stream, sceneData.pEnvMap);
324
325 writeMarker(stream, "Materials");
326 writeMaterials(stream, *sceneData.pMaterials);
327
328 writeMarker(stream, "SceneGraph");
329 stream.write((uint32_t)sceneData.sceneGraph.size());
330 for (const auto& node : sceneData.sceneGraph)
331 {
332 stream.write(node.name);
333 stream.write(node.parent);
334 stream.write(node.transform);
335 stream.write(node.meshBind);
336 stream.write(node.localToBindSpace);
337 }
338
339 writeMarker(stream, "Animations");
340 stream.write((uint32_t)sceneData.animations.size());
341 for (const auto& pAnimation : sceneData.animations)
342 {
343 writeAnimation(stream, pAnimation);
344 }
345
346 writeMarker(stream, "Metadata");

Callers

nothing calls this directly

Calls 2

writeMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected