{"id":2071,"date":"2015-12-19T03:49:48","date_gmt":"2015-12-19T03:49:48","guid":{"rendered":"http:\/\/phoenixgamedevelopment.com\/blog\/?p=2071"},"modified":"2015-12-19T03:49:48","modified_gmt":"2015-12-19T03:49:48","slug":"p-152-virtual-world-concept-update-84-chunked-levels-of-detail-using-quad-trees-part-51-proof-of-concept","status":"publish","type":"post","link":"https:\/\/phoenixgamedevelopment.com\/blog\/p-152-virtual-world-concept-update-84-chunked-levels-of-detail-using-quad-trees-part-51-proof-of-concept\/","title":{"rendered":"P-152: Virtual World Concept Update 84: Chunked Levels of Detail Using Quad Trees Part 51: Proof of Concept"},"content":{"rendered":"<p>I have made some changes to the subdivision code which have addressed the optimisation issues.<\/p>\n<p>I can now subdivide the terrain into without processing every node, but, in addition to some other logical issues, there is also a more serious problem.<\/p>\n<p>It seems that when I parse the tree correctly (Subdividing only required nodes) the terrain does not smoothly fade in and out of view. It seems to render in strips, such as in the images below.<\/p>\n<p>I am not certain how to fix this, or even if it can be fixed. I am concerned that this could be a serious logical flaw.<\/p>\n<p>I am reasonably confident that this can be fixed however.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-2070\" src=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/12\/PhoenixGameDevelopment09-Dec.-16-00.59-300x233.jpg\" alt=\"PhoenixGameDevelopment09 Dec. 16 00.59\" width=\"300\" height=\"233\" srcset=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/12\/PhoenixGameDevelopment09-Dec.-16-00.59-300x233.jpg 300w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/12\/PhoenixGameDevelopment09-Dec.-16-00.59-768x595.jpg 768w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/12\/PhoenixGameDevelopment09-Dec.-16-00.59-1024x794.jpg 1024w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/12\/PhoenixGameDevelopment09-Dec.-16-00.59.jpg 1040w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/> <img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-2069\" src=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/12\/PhoenixGameDevelopment11-Dec.-16-01.00-300x233.jpg\" alt=\"PhoenixGameDevelopment11 Dec. 16 01.00\" width=\"300\" height=\"233\" srcset=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/12\/PhoenixGameDevelopment11-Dec.-16-01.00-300x233.jpg 300w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/12\/PhoenixGameDevelopment11-Dec.-16-01.00-768x595.jpg 768w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/12\/PhoenixGameDevelopment11-Dec.-16-01.00-1024x794.jpg 1024w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/12\/PhoenixGameDevelopment11-Dec.-16-01.00.jpg 1040w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/> <img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-2068\" src=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/12\/PhoenixGameDevelopment15-Dec.-16-01.13-300x233.jpg\" alt=\"PhoenixGameDevelopment15 Dec. 16 01.13\" width=\"300\" height=\"233\" srcset=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/12\/PhoenixGameDevelopment15-Dec.-16-01.13-300x233.jpg 300w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/12\/PhoenixGameDevelopment15-Dec.-16-01.13-768x595.jpg 768w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/12\/PhoenixGameDevelopment15-Dec.-16-01.13-1024x794.jpg 1024w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/12\/PhoenixGameDevelopment15-Dec.-16-01.13.jpg 1040w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/> <img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-2067\" src=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/12\/PhoenixGameDevelopment18-Dec.-16-01.14-300x233.jpg\" alt=\"PhoenixGameDevelopment18 Dec. 16 01.14\" width=\"300\" height=\"233\" srcset=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/12\/PhoenixGameDevelopment18-Dec.-16-01.14-300x233.jpg 300w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/12\/PhoenixGameDevelopment18-Dec.-16-01.14-768x595.jpg 768w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/12\/PhoenixGameDevelopment18-Dec.-16-01.14-1024x794.jpg 1024w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/12\/PhoenixGameDevelopment18-Dec.-16-01.14.jpg 1040w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/> <img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-2066\" src=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/12\/PhoenixGameDevelopment04-Dec.-16-00.27-300x233.jpg\" alt=\"PhoenixGameDevelopment04 Dec. 16 00.27\" width=\"300\" height=\"233\" srcset=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/12\/PhoenixGameDevelopment04-Dec.-16-00.27-300x233.jpg 300w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/12\/PhoenixGameDevelopment04-Dec.-16-00.27-768x595.jpg 768w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/12\/PhoenixGameDevelopment04-Dec.-16-00.27-1024x794.jpg 1024w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/12\/PhoenixGameDevelopment04-Dec.-16-00.27.jpg 1040w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I have made some changes to the subdivision code which have addressed the optimisation issues. I can now subdivide the terrain into without processing every node, but, in addition to some other logical issues, there is also a more serious problem. It seems that when I parse the tree correctly (Subdividing only required nodes) the [&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,17,10,11],"tags":[],"class_list":["post-2071","post","type-post","status-publish","format-standard","hentry","category-astral-realms","category-p-0","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\/2071"}],"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=2071"}],"version-history":[{"count":2,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/posts\/2071\/revisions"}],"predecessor-version":[{"id":2074,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/posts\/2071\/revisions\/2074"}],"wp:attachment":[{"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/media?parent=2071"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/categories?post=2071"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/tags?post=2071"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}