diff options
author | Michael Kowalski <makowalski@nvidia.com> | 2022-11-02 23:27:57 +0300 |
---|---|---|
committer | Michael Kowalski <makowalski@nvidia.com> | 2022-11-02 23:27:57 +0300 |
commit | 0f7433a4c871b70371423ad3aca203d10fb4f179 (patch) | |
tree | 2e7db79db6ee9a2aab6f69c89ed7cefbc74f56ca | |
parent | f428fe774bf88bdf56bc86a4df2462739fd482a6 (diff) |
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.
-rw-r--r-- | source/blender/io/usd/intern/usd_writer_curve.cc | 12 |
1 files changed, 6 insertions, 6 deletions
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 |