{"id":1953,"date":"2015-11-22T06:07:17","date_gmt":"2015-11-22T06:07:17","guid":{"rendered":"http:\/\/phoenixgamedevelopment.com\/blog\/?p=1953"},"modified":"2015-11-23T03:54:10","modified_gmt":"2015-11-23T03:54:10","slug":"p-152-virtual-world-concept-update-74-chunked-levels-of-detail-using-quad-trees-part-41","status":"publish","type":"post","link":"https:\/\/phoenixgamedevelopment.com\/blog\/p-152-virtual-world-concept-update-74-chunked-levels-of-detail-using-quad-trees-part-41\/","title":{"rendered":"P-152: Virtual World Concept Update 74: Chunked Levels of Detail Using Quad Trees Part 41"},"content":{"rendered":"<p>I ran into some additional problems with the Chunked Level of Detail code, but after some more extensive work, I have managed to solve those too.<\/p>\n<p>It turns out that the solution that I implemented previously actually didn&#8217;t work. It turns out that that solution changed the loading order of the quad tree in such a way that it did appear to render correctly, however, the nodes in the quad tree were not correctly indexing their respective points in the points list. This means that I could not properly parse the quad tree.<\/p>\n<p>After extensive work on the indexing algorithm, I have finally fixed this issue.<\/p>\n<p>I have also implemented the preliminary requirements for the distance-based optimisation routine. I have added the location of the center of each quad to the quad tree nodes, and I have added a calculation which returns the players distance from that location. I should be able to use this information to parse and subdivide the quad tree to return the optimised render list.<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment65-Nov.-21-05.23.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-1954\" src=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment65-Nov.-21-05.23-300x233.jpg\" alt=\"PhoenixGameDevelopment65 Nov. 21 05.23\" width=\"300\" height=\"233\" srcset=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment65-Nov.-21-05.23-300x233.jpg 300w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment65-Nov.-21-05.23-1024x794.jpg 1024w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment65-Nov.-21-05.23.jpg 1040w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><a href=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment51-Nov.-21-02.20.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-1943\" src=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment51-Nov.-21-02.20-300x233.jpg\" alt=\"PhoenixGameDevelopment51 Nov. 21 02.20\" width=\"300\" height=\"233\" srcset=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment51-Nov.-21-02.20-300x233.jpg 300w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment51-Nov.-21-02.20-1024x794.jpg 1024w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment51-Nov.-21-02.20.jpg 1040w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a> <a href=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment64-Nov.-21-04.52.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-1944\" src=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment64-Nov.-21-04.52-300x233.jpg\" alt=\"PhoenixGameDevelopment64 Nov. 21 04.52\" width=\"300\" height=\"233\" srcset=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment64-Nov.-21-04.52-300x233.jpg 300w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment64-Nov.-21-04.52-1024x794.jpg 1024w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment64-Nov.-21-04.52.jpg 1040w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a> <a href=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment63-Nov.-21-04.52.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-1945\" src=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment63-Nov.-21-04.52-300x233.jpg\" alt=\"PhoenixGameDevelopment63 Nov. 21 04.52\" width=\"300\" height=\"233\" srcset=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment63-Nov.-21-04.52-300x233.jpg 300w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment63-Nov.-21-04.52-1024x794.jpg 1024w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment63-Nov.-21-04.52.jpg 1040w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a> <a href=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment59-Nov.-21-04.20.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-1946\" src=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment59-Nov.-21-04.20-300x164.jpg\" alt=\"PhoenixGameDevelopment59 Nov. 21 04.20\" width=\"300\" height=\"164\" srcset=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment59-Nov.-21-04.20-300x164.jpg 300w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment59-Nov.-21-04.20-1024x559.jpg 1024w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment59-Nov.-21-04.20.jpg 1920w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I ran into some additional problems with the Chunked Level of Detail code, but after some more extensive work, I have managed to solve those too. It turns out that the solution that I implemented previously actually didn&#8217;t work. It turns out that that solution changed the loading order of the quad tree in such [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,10,11],"tags":[],"class_list":["post-1953","post","type-post","status-publish","format-standard","hentry","category-astral-realms","category-software-and-games","category-spiritus-astrum","has-post-title","has-post-date","has-post-category","has-post-tag","has-post-comment","has-post-author",""],"aioseo_notices":[],"builder_content":"","_links":{"self":[{"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/posts\/1953"}],"collection":[{"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/comments?post=1953"}],"version-history":[{"count":4,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/posts\/1953\/revisions"}],"predecessor-version":[{"id":1958,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/posts\/1953\/revisions\/1958"}],"wp:attachment":[{"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/media?parent=1953"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/categories?post=1953"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/tags?post=1953"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}