MCPcopy Create free account
hub / github.com/RenderKit/embree / initializeScene

Function initializeScene

tutorials/multi_instanced_geometry/scene.cpp:192–230  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

190}
191
192extern "C" RTCScene initializeScene(TutorialData& data, RTCDevice device)
193{
194 cleanupScene(data);
195
196 data.g_instanceLevels.numLevels = 2;
197 data.g_instanceLevels.numInstancesOnLevel = (unsigned int*)alignedUSMMalloc(2*sizeof(unsigned int), 16);
198 data.g_instanceLevels.numInstancesOnLevel[0] = Trees::instances.numInstances;
199 data.g_instanceLevels.numInstancesOnLevel[1] = Twigs01::instances.numInstances;
200 data.g_normalTransforms = (LinearSpace3fa**)alignedUSMMalloc(2*sizeof(LinearSpace3fa*), 16);
201 data.g_normalTransforms[0] = (LinearSpace3fa*)alignedUSMMalloc(data.g_instanceLevels.numInstancesOnLevel[0]*sizeof(LinearSpace3fa), 16);
202 data.g_normalTransforms[1] = (LinearSpace3fa*)alignedUSMMalloc(data.g_instanceLevels.numInstancesOnLevel[1]*sizeof(LinearSpace3fa), 16);
203 data.g_instanceLevels.normalTransforms = data.g_normalTransforms;
204
205 RandomSampler sampler;
206 RandomSampler_init(sampler, 98248);
207
208 RTCScene twig = rtcNewScene(device);
209 rtcSetSceneFlags(twig, RTC_SCENE_FLAG_FILTER_FUNCTION_IN_ARGUMENTS);
210 addMesh(device, twig, Twig::mesh);
211 rtcCommitScene(twig);
212
213 RTCScene tree = rtcNewScene(device);
214 rtcSetSceneFlags(tree, RTC_SCENE_FLAG_FILTER_FUNCTION_IN_ARGUMENTS);
215 addInstances(device, tree, twig, Twigs01::instances, data.g_normalTransforms[1]);
216
217 addMesh(device, tree, Tree01::mesh);
218 rtcCommitScene(tree);
219 rtcReleaseScene(twig);
220
221 RTCScene scene = rtcNewScene(device);
222 rtcSetSceneFlags(scene, RTC_SCENE_FLAG_FILTER_FUNCTION_IN_ARGUMENTS);
223 addInstances(device, scene, tree, Trees::instances, data.g_normalTransforms[0]);
224 addMesh(device, scene, Ground::mesh);
225
226 rtcReleaseScene(tree);
227
228 rtcCommitScene(scene);
229 return scene;
230}
231
232// -----------------------------------------------------------------------------
233} // namespace embree

Callers 1

device_initFunction · 0.70

Calls 9

cleanupSceneFunction · 0.85
alignedUSMMallocFunction · 0.85
RandomSampler_initFunction · 0.85
rtcNewSceneFunction · 0.85
rtcSetSceneFlagsFunction · 0.85
addMeshFunction · 0.85
rtcCommitSceneFunction · 0.85
addInstancesFunction · 0.85
rtcReleaseSceneFunction · 0.85

Tested by

no test coverage detected