[Bf-blender-cvs] [0f7433a4c87] universal-scene-description: USD export: fix curve widths calculation.
Michael Kowalski
noreply at git.blender.org
Wed Nov 2 21:29:05 CET 2022
Commit: 0f7433a4c871b70371423ad3aca203d10fb4f179
Author: Michael Kowalski
Date: Wed Nov 2 16:27:57 2022 -0400
Branches: universal-scene-description
https://developer.blender.org/rB0f7433a4c871b70371423ad3aca203d10fb4f179
USD export: fix curve widths calculation.
Now multiplying the curve radius values by the bevel radius
when calculating curve widths. Change authored by
Charles Wardlaw.
===================================================================
M source/blender/io/usd/intern/usd_writer_curve.cc
===================================================================
diff --git a/source/blender/io/usd/intern/usd_writer_curve.cc b/source/blender/io/usd/intern/usd_writer_curve.cc
index f779bd7a1ba..3e27de3798a 100644
--- a/source/blender/io/usd/intern/usd_writer_curve.cc
+++ b/source/blender/io/usd/intern/usd_writer_curve.cc
@@ -118,7 +118,7 @@ void USDCurveWriter::do_write(HierarchyContext &context)
for (int i = 0; i < totpoint; i++, point++) {
verts.push_back(pxr::GfVec3f(point->vec));
weights.push_back(point->vec[3]);
- widths.push_back(point->radius * 2.0f);
+ widths.push_back(point->radius * curve->bevel_radius * 2.0f);
}
}
else if (nurbs->bezt) {
@@ -137,24 +137,24 @@ void USDCurveWriter::do_write(HierarchyContext &context)
if (i > 0) {
verts.push_back(pxr::GfVec3f(bezier->vec[0]));
- widths.push_back(bezier->radius * 2.0f);
+ widths.push_back(bezier->radius * curve->bevel_radius * 2.0f);
}
verts.push_back(pxr::GfVec3f(bezier->vec[1]));
- widths.push_back(bezier->radius * 2.0f);
+ widths.push_back(bezier->radius * curve->bevel_radius * 2.0f);
if (i < totpoint - 1 || is_cyclic) {
verts.push_back(pxr::GfVec3f(bezier->vec[2]));
- widths.push_back(bezier->radius * 2.0f);
+ widths.push_back(bezier->radius * curve->bevel_radius * 2.0f);
}
}
if (is_cyclic) {
verts.push_back(pxr::GfVec3f(nurbs->bezt->vec[0]));
- widths.push_back(nurbs->bezt->radius * 2.0f);
+ widths.push_back(nurbs->bezt->radius * curve->bevel_radius * 2.0f);
verts.push_back(pxr::GfVec3f(nurbs->bezt->vec[1]));
- widths.push_back(nurbs->bezt->radius * 2.0f);
+ widths.push_back(nurbs->bezt->radius * curve->bevel_radius * 2.0f);
}
}
// TODO: Implement knots
More information about the Bf-blender-cvs
mailing list