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

Method setInstancedScenes

kernels/common/scene_instance_array.cpp:51–69  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

49 }
50
51 void InstanceArray::setInstancedScenes(const RTCScene* scenes, size_t numScenes) {
52 if (objects) {
53 for (size_t i = 0; i < numObjects; ++i) {
54 if (objects[i]) objects[i]->refDec();
55 }
56 device->free(objects);
57 device->memoryMonitor(-ssize_t(numObjects*sizeof(Accel*)), true);
58 }
59
60 numObjects = numScenes;
61 device->memoryMonitor(numObjects*sizeof(Accel*), false);
62 objects = (Accel**) device->malloc(numScenes*sizeof(Accel*),16,EmbreeMemoryType::MALLOC);
63 for (size_t i = 0; i < numObjects; ++i) {
64 Ref<Scene> scene = (Scene*) scenes[i];
65 objects[i] = scene.ptr;
66 if (objects[i]) objects[i]->refInc();
67 }
68 Geometry::update();
69 }
70
71 void InstanceArray::addElementsToCount (GeometryCounts & counts) const
72 {

Callers 1

Calls 5

refDecMethod · 0.80
refIncMethod · 0.80
freeMethod · 0.45
memoryMonitorMethod · 0.45
mallocMethod · 0.45

Tested by

no test coverage detected