22 const SdfPath &instancerId
39 bits |= HdChangeTracker::DirtyVolumeField;
43void HdCyclesVolume::Populate(HdSceneDelegate *sceneDelegate, HdDirtyBits dirtyBits,
bool &rebuild)
47 if (dirtyBits & HdChangeTracker::DirtyVolumeField) {
48 for (
const HdVolumeFieldDescriptor &field : sceneDelegate->GetVolumeFieldDescriptors(GetId()))
51 sceneDelegate->GetRenderIndex().GetBprim(_tokens->openvdbAsset, field.fieldId)))
53 const ustring name(field.fieldName.GetString());
77 _geom->need_attribute(scene, name))
81 _geom->attributes.add(
83 attr->
data_voxel() = openvdbAsset->GetImageHandle();
static const char * standard_name(AttributeStandard std)
ImageHandle & data_voxel()
PXR_NS::HdDirtyBits GetInitialDirtyBitsMask() const override
HdCyclesVolume(const PXR_NS::SdfPath &rprimId, const PXR_NS::SdfPath &instancerId={})
PXR_NS::HdDirtyBits GetInitialDirtyBitsMask() const override
~HdCyclesVolume() override
#define HDCYCLES_NAMESPACE_CLOSE_SCOPE
HDCYCLES_NAMESPACE_OPEN_SCOPE TF_DEFINE_PRIVATE_TOKENS(_tokens,(openvdbAsset))
@ ATTR_STD_VOLUME_TEMPERATURE
@ ATTR_STD_VOLUME_DENSITY
@ ATTR_STD_VOLUME_VELOCITY