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

Function ConvertInstanceArray

tutorials/common/tutorial/scene_device.cpp:1069–1088  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1067 }
1068
1069 unsigned int ConvertInstanceArray(RTCDevice device, ISPCInstanceArray* instance, RTCBuildQuality quality, RTCSceneFlags flags, unsigned int depth, RTCFeatureFlags& used_features)
1070 {
1071 used_features |= RTC_FEATURE_FLAG_INSTANCE_ARRAY;
1072 if (instance->numTimeSteps > 1) used_features |= RTC_FEATURE_FLAG_MOTION_BLUR;
1073
1074 if (instance->child->type != GROUP)
1075 THROW_RUNTIME_ERROR("invalid scene structure");
1076
1077 ISPCGroup* group = (ISPCGroup*) instance->child;
1078 unsigned int requiredInstancingDepth = 1+ConvertGroup(device, group, quality, flags, depth+1, used_features);
1079
1080 if (depth + requiredInstancingDepth > RTC_MAX_INSTANCE_LEVEL_COUNT)
1081 THROW_RUNTIME_ERROR("scene instancing depth is too large");
1082
1083 if (instance->geom.visited) return requiredInstancingDepth;
1084 instance->geom.visited = true;
1085 instance->commit();
1086
1087 return requiredInstancingDepth;
1088 }
1089
1090 extern "C" RTCScene ConvertScene(RTCDevice g_device, ISPCScene* scene_in, RTCBuildQuality quality, RTCSceneFlags flags, RTCFeatureFlags *used_features_out)
1091 {

Callers 2

ConvertGroupFunction · 0.85
ConvertSceneFunction · 0.85

Calls 2

ConvertGroupFunction · 0.85
commitMethod · 0.45

Tested by

no test coverage detected