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

Function ConvertCurveGeometry

tutorials/common/tutorial/scene_device.cpp:957–984  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

955 }
956
957 void ConvertCurveGeometry(RTCDevice device, ISPCHairSet* mesh, RTCBuildQuality quality, RTCSceneFlags flags, RTCFeatureFlags& used_features)
958 {
959 if (mesh->geom.visited) return;
960
961 switch (mesh->type) {
962 case RTC_GEOMETRY_TYPE_CONE_LINEAR_CURVE: used_features |= RTC_FEATURE_FLAG_CONE_LINEAR_CURVE; break;
963 case RTC_GEOMETRY_TYPE_ROUND_LINEAR_CURVE: used_features |= RTC_FEATURE_FLAG_ROUND_LINEAR_CURVE ; break;
964 case RTC_GEOMETRY_TYPE_FLAT_LINEAR_CURVE: used_features |= RTC_FEATURE_FLAG_FLAT_LINEAR_CURVE; break;
965 case RTC_GEOMETRY_TYPE_ROUND_BEZIER_CURVE: used_features |= RTC_FEATURE_FLAG_ROUND_BEZIER_CURVE; break;
966 case RTC_GEOMETRY_TYPE_FLAT_BEZIER_CURVE: used_features |= RTC_FEATURE_FLAG_FLAT_BEZIER_CURVE; break;
967 case RTC_GEOMETRY_TYPE_NORMAL_ORIENTED_BEZIER_CURVE: used_features |= RTC_FEATURE_FLAG_NORMAL_ORIENTED_BEZIER_CURVE; break;
968 case RTC_GEOMETRY_TYPE_ROUND_BSPLINE_CURVE: used_features |= RTC_FEATURE_FLAG_ROUND_BSPLINE_CURVE; break;
969 case RTC_GEOMETRY_TYPE_FLAT_BSPLINE_CURVE: used_features |= RTC_FEATURE_FLAG_FLAT_BSPLINE_CURVE; break;
970 case RTC_GEOMETRY_TYPE_NORMAL_ORIENTED_BSPLINE_CURVE: used_features |= RTC_FEATURE_FLAG_NORMAL_ORIENTED_BSPLINE_CURVE; break;
971 case RTC_GEOMETRY_TYPE_ROUND_HERMITE_CURVE: used_features |= RTC_FEATURE_FLAG_ROUND_HERMITE_CURVE; break;
972 case RTC_GEOMETRY_TYPE_FLAT_HERMITE_CURVE: used_features |= RTC_FEATURE_FLAG_FLAT_HERMITE_CURVE; break;
973 case RTC_GEOMETRY_TYPE_NORMAL_ORIENTED_HERMITE_CURVE: used_features |= RTC_FEATURE_FLAG_NORMAL_ORIENTED_HERMITE_CURVE; break;
974 case RTC_GEOMETRY_TYPE_ROUND_CATMULL_ROM_CURVE: used_features |= RTC_FEATURE_FLAG_ROUND_CATMULL_ROM_CURVE; break;
975 case RTC_GEOMETRY_TYPE_FLAT_CATMULL_ROM_CURVE: used_features |= RTC_FEATURE_FLAG_FLAT_CATMULL_ROM_CURVE; break;
976 case RTC_GEOMETRY_TYPE_NORMAL_ORIENTED_CATMULL_ROM_CURVE: used_features |= RTC_FEATURE_FLAG_NORMAL_ORIENTED_CATMULL_ROM_CURVE; break;
977 default: assert(false); break;
978 }
979 if (mesh->numTimeSteps > 1) used_features |= RTC_FEATURE_FLAG_MOTION_BLUR;
980
981 mesh->geom.visited = true;
982 rtcSetGeometryBuildQuality(mesh->geom.geometry, quality);
983 mesh->commit();
984 }
985
986 void ConvertPoints(RTCDevice device, ISPCPointSet* mesh, RTCBuildQuality quality, RTCSceneFlags flags, RTCFeatureFlags& used_features)
987 {

Callers 2

ConvertGroupFunction · 0.85
ConvertSceneFunction · 0.85

Calls 2

commitMethod · 0.45

Tested by

no test coverage detected