X-Git-Url: https://git.ucc.asn.au/?p=ipdf%2Fcode.git;a=blobdiff_plain;f=src%2Fobjectrenderer.cpp;h=76aba52c7f996f699a2fec00edd28ad6d6a239db;hp=cb96c305301f8c892d64037ee51d627bb3d484a3;hb=04ab3830f779fdb92697a6b5101214ea462b765a;hpb=d69b8de94411bee43edc9e16f33bfa0d5d1d6b3b diff --git a/src/objectrenderer.cpp b/src/objectrenderer.cpp index cb96c30..76aba52 100644 --- a/src/objectrenderer.cpp +++ b/src/objectrenderer.cpp @@ -42,7 +42,7 @@ void ObjectRenderer::RenderUsingGPU(unsigned first_obj_id, unsigned last_obj_id) m_shader_program.Use(); m_ibo.Bind(); - glDrawElements(GL_LINES, (last_index-first_index)*2, GL_UNSIGNED_INT, (GLvoid*)(first_index*sizeof(uint32_t))); + glDrawElements(GL_LINES, (last_index-first_index)*2, GL_UNSIGNED_INT, (GLvoid*)(2*first_index*sizeof(uint32_t))); } @@ -72,6 +72,7 @@ void ObjectRenderer::PrepareBuffers(unsigned max_objects) m_ibo.Invalidate(); m_ibo.SetUsage(GraphicsBuffer::BufferUsageStaticDraw); m_ibo.SetType(GraphicsBuffer::BufferTypeIndex); + m_ibo.SetName("m_ibo: ObjectRenderer GPU indices"); m_ibo.Resize(max_objects * 2 * sizeof(uint32_t)); // BufferBuilder is used to construct the ibo m_buffer_builder = new BufferBuilder(m_ibo.Map(false, true, true), m_ibo.GetSize()); // new matches delete in ObjectRenderer::FinaliseBuffers @@ -277,6 +278,7 @@ void BezierRenderer::PrepareBezierGPUBuffer(const Objects& objects) { m_bezier_coeffs.SetType(GraphicsBuffer::BufferTypeTexture); m_bezier_coeffs.SetUsage(GraphicsBuffer::BufferUsageDynamicDraw); + m_bezier_coeffs.SetName("m_bezier_coeffs: Bezier coefficients"); m_bezier_coeffs.Resize(objects.beziers.size()*sizeof(GPUBezierCoeffs)); BufferBuilder builder(m_bezier_coeffs.Map(false, true, true), m_bezier_coeffs.GetSize()); @@ -297,6 +299,7 @@ void BezierRenderer::PrepareBezierGPUBuffer(const Objects& objects) m_bezier_ids.SetType(GraphicsBuffer::BufferTypeTexture); m_bezier_ids.SetUsage(GraphicsBuffer::BufferUsageDynamicDraw); + m_bezier_ids.SetName("m_bezier_ids: object data_indices"); m_bezier_ids.Upload(objects.data_indices.size() * sizeof(uint32_t), &objects.data_indices[0]); glGenTextures(1, &m_bezier_id_buffer_texture); @@ -325,7 +328,7 @@ void BezierRenderer::RenderUsingGPU(unsigned first_obj_id, unsigned last_obj_id) glUniform1i(m_shader_program.GetUniformLocation("bezier_buffer_texture"), 0); glUniform1i(m_shader_program.GetUniformLocation("bezier_id_buffer_texture"), 1); m_ibo.Bind(); - glDrawElements(GL_LINES, (last_index-first_index)*2, GL_UNSIGNED_INT, (GLvoid*)(first_index*sizeof(uint32_t))); + glDrawElements(GL_LINES, (last_index-first_index)*2, GL_UNSIGNED_INT, (GLvoid*)(2*first_index*sizeof(uint32_t))); } /**