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:
authorHans Goudey <h.goudey@me.com>2022-02-22 01:06:17 +0300
committerHans Goudey <h.goudey@me.com>2022-02-22 01:06:17 +0300
commitdde5cc6670f3f41e617f5b5fd49d7982c0304c21 (patch)
tree740188fc05d73b5e840a7aeacb15f0d306eac59f /source/blender/draw/intern/draw_cache_impl_curves.cc
parent24ddb4b1ad7237f888bec19a2e576f3b2a5e9a84 (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.cc16
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;