Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Kowalski <makowalski@nvidia.com>2022-11-02 23:27:57 +0300
committerMichael Kowalski <makowalski@nvidia.com>2022-11-02 23:27:57 +0300
commit0f7433a4c871b70371423ad3aca203d10fb4f179 (patch)
tree2e7db79db6ee9a2aab6f69c89ed7cefbc74f56ca
parentf428fe774bf88bdf56bc86a4df2462739fd482a6 (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.cc12
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