| @@ -81,19 +81,23 @@ void Draw(Quadtree<TE>* tree, vec4 color) | |||||
| //vec3 add = vec3(0.0f, 0.1f, 0.0f); | //vec3 add = vec3(0.0f, 0.1f, 0.0f); | ||||
| while (boxes.count() > 0) | while (boxes.count() > 0) | ||||
| { | { | ||||
| Debug::DrawBox(vec3(boxes[0].m1.aa.x, tree->m_debug_y_offset, boxes[0].m1.aa.y), | |||||
| vec3(boxes[0].m1.bb.x, tree->m_debug_y_offset, boxes[0].m1.bb.y), | |||||
| boxes[0].m2); | |||||
| auto const &box = std::get<0>(boxes[0]); | |||||
| auto const &col = std::get<1>(boxes[0]); | |||||
| Debug::DrawBox(vec3(box.aa.x, tree->m_debug_y_offset, box.aa.y), | |||||
| vec3(box.bb.x, tree->m_debug_y_offset, box.bb.y), | |||||
| col); | |||||
| boxes.remove(0); | boxes.remove(0); | ||||
| } | } | ||||
| while (elements.count() > 0) | while (elements.count() > 0) | ||||
| { | { | ||||
| while (elements[0].m2 > 0) | |||||
| auto const *e = std::get<0>(elements[0]); | |||||
| int shadow = std::get<1>(elements[0]); | |||||
| while (shadow) | |||||
| { | { | ||||
| Debug::DrawBox(vec3(elements[0].m1->GetAABB().aa.x, tree->m_debug_y_offset, elements[0].m1->GetAABB().aa.y) + off * (float)elements[0].m2, | |||||
| vec3(elements[0].m1->GetAABB().bb.x, tree->m_debug_y_offset, elements[0].m1->GetAABB().bb.y) + off * (float)elements[0].m2, | |||||
| Debug::DrawBox(vec3(e->GetAABB().aa.x, tree->m_debug_y_offset, e->GetAABB().aa.y) + off * (float)shadow, | |||||
| vec3(e->GetAABB().bb.x, tree->m_debug_y_offset, e->GetAABB().bb.y) + off * (float)shadow, | |||||
| elements[0].m3); | elements[0].m3); | ||||
| elements[0].m2--; | |||||
| --shadow; | |||||
| } | } | ||||
| elements.remove(0); | elements.remove(0); | ||||
| } | } | ||||
| @@ -112,21 +116,25 @@ void Draw(Octree<TE>* tree, vec4 color) | |||||
| //vec3 add = vec3(0.0f, 0.1f, 0.0f); | //vec3 add = vec3(0.0f, 0.1f, 0.0f); | ||||
| while (boxes.count() > 0) | while (boxes.count() > 0) | ||||
| { | { | ||||
| //float size = boxes[0].m1.bb.x - boxes[0].m1.aa.x; | |||||
| Debug::DrawBox(vec3(boxes[0].m1.aa.x, boxes[0].m1.aa.y, boxes[0].m1.aa.z) /* + off * (m_size.x / size) */, | |||||
| vec3(boxes[0].m1.bb.x, boxes[0].m1.bb.y, boxes[0].m1.bb.z) /* + off * (m_size.x / size) */, | |||||
| boxes[0].m2); | |||||
| auto const &box = std::get<0>(boxes[0]); | |||||
| auto const &col = std::get<1>(boxes[0]); | |||||
| //float size = box.bb.x - box.aa.x; | |||||
| Debug::DrawBox(box.aa, /* + off * (m_size.x / size) */ | |||||
| box.bb, /* + off * (m_size.x / size) */ | |||||
| col); | |||||
| //off += add; | //off += add; | ||||
| boxes.remove(0); | boxes.remove(0); | ||||
| } | } | ||||
| while (elements.count() > 0) | while (elements.count() > 0) | ||||
| { | { | ||||
| while (elements[0].m2 > 0) | |||||
| auto const *e = std::get<0>(elements[0]); | |||||
| int shadow = std::get<1>(elements[0]); | |||||
| while (shadow) | |||||
| { | { | ||||
| Debug::DrawBox(vec3(elements[0].m1->GetAABB().aa.x, elements[0].m1->GetAABB().aa.y, elements[0].m1->GetAABB().aa.z) + off * (float)elements[0].m2, | |||||
| vec3(elements[0].m1->GetAABB().bb.x, elements[0].m1->GetAABB().bb.y, elements[0].m1->GetAABB().bb.z) + off * (float)elements[0].m2, | |||||
| Debug::DrawBox(e->GetAABB().aa + off * (float)shadow, | |||||
| e->GetAABB().bb + off * (float)shadow, | |||||
| elements[0].m3); | elements[0].m3); | ||||
| elements[0].m2--; | |||||
| --shadow; | |||||
| } | } | ||||
| elements.remove(0); | elements.remove(0); | ||||
| } | } | ||||