X-Git-Url: https://git.ucc.asn.au/?p=ipdf%2Fcode.git;a=blobdiff_plain;f=src%2Fobjectrenderer.cpp;h=9b84ec260bf8deca0fef6a7be3aee4e9f8083c6f;hp=3f1bc41584a40496717e51d4ab73a77097557a9b;hb=d68c91a7a2a3a4b3a312a50cbab5a7539d4cd7d5;hpb=216bf86aee4c7a1f3392051a457e7e5933f40fbd diff --git a/src/objectrenderer.cpp b/src/objectrenderer.cpp index 3f1bc41..9b84ec2 100644 --- a/src/objectrenderer.cpp +++ b/src/objectrenderer.cpp @@ -382,7 +382,14 @@ void BezierRenderer::RenderUsingGPU(unsigned first_obj_id, unsigned last_obj_id) if (m_indexes.empty()) return; unsigned first_index = 0; - while (m_indexes.size() > first_index && m_indexes[first_index] < first_obj_id) first_index ++; + while (m_indexes.size() > first_index && m_indexes[first_index] < first_obj_id) + { + unsigned new_index = (first_index + first_obj_id) / 2; + if (new_index < m_indexes.size() && m_indexes[new_index] < first_obj_id) + first_index = new_index; + else + first_index ++; + } unsigned last_index = first_index; while (m_indexes.size() > last_index && m_indexes[last_index] < last_obj_id) last_index ++;