diff options
author | Hans Goudey <h.goudey@me.com> | 2022-02-22 01:06:17 +0300 |
---|---|---|
committer | Hans Goudey <h.goudey@me.com> | 2022-02-22 01:06:17 +0300 |
commit | dde5cc6670f3f41e617f5b5fd49d7982c0304c21 (patch) | |
tree | 740188fc05d73b5e840a7aeacb15f0d306eac59f /source/blender/draw/intern/draw_cache_impl_curves.cc | |
parent | 24ddb4b1ad7237f888bec19a2e576f3b2a5e9a84 (diff) |
Cleanup: Use curves wrapper
Diffstat (limited to 'source/blender/draw/intern/draw_cache_impl_curves.cc')
-rw-r--r-- | source/blender/draw/intern/draw_cache_impl_curves.cc | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/source/blender/draw/intern/draw_cache_impl_curves.cc b/source/blender/draw/intern/draw_cache_impl_curves.cc index 2153b674463..df1ac12605a 100644 --- a/source/blender/draw/intern/draw_cache_impl_curves.cc +++ b/source/blender/draw/intern/draw_cache_impl_curves.cc @@ -133,12 +133,12 @@ static void curves_batch_cache_fill_segments_proc_pos(Curves *curves, { /* TODO: use hair radius layer if available. */ const int curve_size = curves->geometry.curve_size; - Span<int> offsets{curves->geometry.curve_offsets, curves->geometry.curve_size + 1}; - - Span<float3> positions{(float3 *)curves->geometry.position, curves->geometry.point_size}; + const blender::bke::CurvesGeometry &geometry = blender::bke::CurvesGeometry::wrap( + curves->geometry); + Span<float3> positions = geometry.positions(); for (const int i : IndexRange(curve_size)) { - const IndexRange curve_range(offsets[i], offsets[i + 1] - offsets[i]); + const IndexRange curve_range = geometry.range_for_curve(i); Span<float3> spline_positions = positions.slice(curve_range); float total_len = 0.0f; @@ -215,11 +215,11 @@ static void curves_batch_cache_fill_strands_data(Curves *curves, GPUVertBufRaw *data_step, GPUVertBufRaw *seg_step) { - const int curve_size = curves->geometry.curve_size; - Span<int> offsets{curves->geometry.curve_offsets, curves->geometry.curve_size + 1}; + const blender::bke::CurvesGeometry &geometry = blender::bke::CurvesGeometry::wrap( + curves->geometry); - for (const int i : IndexRange(curve_size)) { - const IndexRange curve_range(offsets[i], offsets[i + 1] - offsets[i]); + for (const int i : IndexRange(geometry.curves_size())) { + const IndexRange curve_range = geometry.range_for_curve(i); *(uint *)GPU_vertbuf_raw_step(data_step) = curve_range.start(); *(ushort *)GPU_vertbuf_raw_step(seg_step) = curve_range.size() - 1; |