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

Function ConvertInstance

tutorials/common/tutorial/scene_device.cpp:1048–1067  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1046 }
1047
1048 unsigned int ConvertInstance(RTCDevice device, ISPCInstance* instance, RTCBuildQuality quality, RTCSceneFlags flags, unsigned int depth, RTCFeatureFlags& used_features)
1049 {
1050 used_features |= RTC_FEATURE_FLAG_INSTANCE;
1051 if (instance->numTimeSteps > 1) used_features |= RTC_FEATURE_FLAG_MOTION_BLUR;
1052
1053 if (instance->child->type != GROUP)
1054 THROW_RUNTIME_ERROR("invalid scene structure");
1055
1056 ISPCGroup* group = (ISPCGroup*) instance->child;
1057 unsigned int requiredInstancingDepth = 1+ConvertGroup(device, group, quality, flags, depth+1, used_features);
1058
1059 if (depth + requiredInstancingDepth > RTC_MAX_INSTANCE_LEVEL_COUNT)
1060 THROW_RUNTIME_ERROR("scene instancing depth is too large");
1061
1062 if (instance->geom.visited) return requiredInstancingDepth;
1063 instance->geom.visited = true;
1064 instance->commit();
1065
1066 return requiredInstancingDepth;
1067 }
1068
1069 unsigned int ConvertInstanceArray(RTCDevice device, ISPCInstanceArray* instance, RTCBuildQuality quality, RTCSceneFlags flags, unsigned int depth, RTCFeatureFlags& used_features)
1070 {

Callers 2

ConvertGroupFunction · 0.85
ConvertSceneFunction · 0.85

Calls 2

ConvertGroupFunction · 0.85
commitMethod · 0.45

Tested by

no test coverage detected