Re-fix QuadTree GPU rendering, discard groups
authorDavid Gow <[email protected]>
Thu, 14 Aug 2014 13:44:14 +0000 (21:44 +0800)
committerDavid Gow <[email protected]>
Thu, 14 Aug 2014 13:44:14 +0000 (21:44 +0800)
src/document.cpp
src/objectrenderer.cpp

index 16cb8f9..35673d4 100644 (file)
@@ -130,6 +130,8 @@ int Document::ClipObjectToQuadChild(int object_id, QuadTreeNodeChildren type)
                m_objects.data_indices.push_back(m_objects.data_indices[object_id]);
                return 1;
                }
+       case GROUP:
+               break;
        default:
                Debug("Adding %s -> %s", m_objects.bounds[object_id].Str().c_str(), TransformToQuadChild(m_objects.bounds[object_id], type).Str().c_str());
                m_objects.bounds.push_back(TransformToQuadChild(m_objects.bounds[object_id], type));
index ed4db41..42ec8fd 100644 (file)
@@ -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)));
 }
 
 
@@ -329,7 +329,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)));
 }
 
 /**

UCC git Repository :: git.ucc.asn.au