Changeset View
Changeset View
Standalone View
Standalone View
intern/cycles/render/geometry.cpp
| Show First 20 Lines • Show All 1,195 Lines • ▼ Show 20 Lines | foreach (Geometry *geom, scene->geometry) { | ||||
| } | } | ||||
| foreach (Attribute &attr, geom->attributes.attributes) { | foreach (Attribute &attr, geom->attributes.attributes) { | ||||
| if (attr.element != ATTR_ELEMENT_VOXEL) { | if (attr.element != ATTR_ELEMENT_VOXEL) { | ||||
| continue; | continue; | ||||
| } | } | ||||
| ImageHandle &handle = attr.data_voxel(); | ImageHandle &handle = attr.data_voxel(); | ||||
| /* We can build directly from OpenVDB data structures, no need to | |||||
| * load such images early. */ | |||||
| if (!handle.vdb_loader()) { | |||||
| const int slot = handle.svm_slot(); | const int slot = handle.svm_slot(); | ||||
| if (slot != -1) { | if (slot != -1) { | ||||
| volume_images.insert(slot); | volume_images.insert(slot); | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| } | |||||
| foreach (int slot, volume_images) { | foreach (int slot, volume_images) { | ||||
| pool.push(function_bind( | pool.push(function_bind( | ||||
| &ImageManager::device_update_slot, image_manager, device, scene, slot, &progress)); | &ImageManager::device_update_slot, image_manager, device, scene, slot, &progress)); | ||||
| } | } | ||||
| pool.wait_work(); | pool.wait_work(); | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 256 Lines • Show Last 20 Lines | |||||