{"id":1926,"date":"2015-11-17T20:24:25","date_gmt":"2015-11-17T20:24:25","guid":{"rendered":"http:\/\/phoenixgamedevelopment.com\/blog\/?p=1926"},"modified":"2015-11-21T05:22:06","modified_gmt":"2015-11-21T05:22:06","slug":"p-152-virtual-world-concept-update-71-chunked-levels-of-detail-using-quad-trees-part-39","status":"publish","type":"post","link":"https:\/\/phoenixgamedevelopment.com\/blog\/p-152-virtual-world-concept-update-71-chunked-levels-of-detail-using-quad-trees-part-39\/","title":{"rendered":"P-152: Virtual World Concept Update 71: Chunked Levels of Detail Using Quad Trees Part 39"},"content":{"rendered":"<p>I have confirmed my hypothesis regarding the cause of the rendering issues with the spherical terrain.<\/p>\n<p>I loaded all of the points into a global data structure, and then rendered a set of points (which I manually specified) from that buffer.<\/p>\n<p>As the images below prove, the resulting terrain rendered correctly. The below images were taken at different resolution, using the same data structure. I am only rendering one face of the terrain, but it is clear that each image is a distortion free rendering of the terrain at that resolution.<\/p>\n<p>I now just need to solve the indexing problem with the quad tree so that I can render each tier dynamically from the quad tree itself.<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment10-Nov.-17-04.31.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-1918\" src=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment10-Nov.-17-04.31-300x233.jpg\" alt=\"PhoenixGameDevelopment10 Nov. 17 04.31\" width=\"300\" height=\"233\" srcset=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment10-Nov.-17-04.31-300x233.jpg 300w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment10-Nov.-17-04.31-1024x794.jpg 1024w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment10-Nov.-17-04.31.jpg 1040w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a> <a href=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment09-Nov.-17-04.31.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-1919\" src=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment09-Nov.-17-04.31-300x233.jpg\" alt=\"PhoenixGameDevelopment09 Nov. 17 04.31\" width=\"300\" height=\"233\" srcset=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment09-Nov.-17-04.31-300x233.jpg 300w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment09-Nov.-17-04.31-1024x794.jpg 1024w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment09-Nov.-17-04.31.jpg 1040w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a> <a href=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment07-Nov.-17-04.31.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-1920\" src=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment07-Nov.-17-04.31-300x233.jpg\" alt=\"PhoenixGameDevelopment07 Nov. 17 04.31\" width=\"300\" height=\"233\" srcset=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment07-Nov.-17-04.31-300x233.jpg 300w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment07-Nov.-17-04.31-1024x794.jpg 1024w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment07-Nov.-17-04.31.jpg 1040w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a> <a href=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment06-Nov.-17-04.30.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-1921\" src=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment06-Nov.-17-04.30-300x233.jpg\" alt=\"PhoenixGameDevelopment06 Nov. 17 04.30\" width=\"300\" height=\"233\" srcset=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment06-Nov.-17-04.30-300x233.jpg 300w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment06-Nov.-17-04.30-1024x794.jpg 1024w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment06-Nov.-17-04.30.jpg 1040w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a> <a href=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment04-Nov.-17-04.25.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-1922\" src=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment04-Nov.-17-04.25-300x233.jpg\" alt=\"PhoenixGameDevelopment04 Nov. 17 04.25\" width=\"300\" height=\"233\" srcset=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment04-Nov.-17-04.25-300x233.jpg 300w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment04-Nov.-17-04.25-1024x794.jpg 1024w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment04-Nov.-17-04.25.jpg 1040w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a> <a href=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment02-Nov.-17-04.25.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-1923\" src=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment02-Nov.-17-04.25-300x233.jpg\" alt=\"PhoenixGameDevelopment02 Nov. 17 04.25\" width=\"300\" height=\"233\" srcset=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment02-Nov.-17-04.25-300x233.jpg 300w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment02-Nov.-17-04.25-1024x794.jpg 1024w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment02-Nov.-17-04.25.jpg 1040w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><br \/>\n<\/a><a href=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment21-Nov.-18-21.05.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-1950\" src=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment21-Nov.-18-21.05-300x158.jpg\" alt=\"PhoenixGameDevelopment21 Nov. 18 21.05\" width=\"300\" height=\"158\" srcset=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment21-Nov.-18-21.05-300x158.jpg 300w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment21-Nov.-18-21.05-1024x540.jpg 1024w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment21-Nov.-18-21.05.jpg 1440w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><a href=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment15-Nov.-18-20.56.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-1949\" src=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment15-Nov.-18-20.56-300x158.jpg\" alt=\"PhoenixGameDevelopment15 Nov. 18 20.56\" width=\"300\" height=\"158\" srcset=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment15-Nov.-18-20.56-300x158.jpg 300w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment15-Nov.-18-20.56-1024x540.jpg 1024w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment15-Nov.-18-20.56.jpg 1440w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><a href=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment19-Nov.-18-21.05.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-1948\" src=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment19-Nov.-18-21.05-300x158.jpg\" alt=\"PhoenixGameDevelopment19 Nov. 18 21.05\" width=\"300\" height=\"158\" srcset=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment19-Nov.-18-21.05-300x158.jpg 300w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment19-Nov.-18-21.05-1024x540.jpg 1024w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment19-Nov.-18-21.05.jpg 1440w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><a href=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment20-Nov.-18-21.05.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-1947\" src=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment20-Nov.-18-21.05-300x158.jpg\" alt=\"PhoenixGameDevelopment20 Nov. 18 21.05\" width=\"300\" height=\"158\" srcset=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment20-Nov.-18-21.05-300x158.jpg 300w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment20-Nov.-18-21.05-1024x540.jpg 1024w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2015\/11\/PhoenixGameDevelopment20-Nov.-18-21.05.jpg 1440w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I have confirmed my hypothesis regarding the cause of the rendering issues with the spherical terrain. I loaded all of the points into a global data structure, and then rendered a set of points (which I manually specified) from that buffer. As the images below prove, the resulting terrain rendered correctly. The below images were [&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-1926","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\/1926"}],"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=1926"}],"version-history":[{"count":4,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/posts\/1926\/revisions"}],"predecessor-version":[{"id":1952,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/posts\/1926\/revisions\/1952"}],"wp:attachment":[{"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/media?parent=1926"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/categories?post=1926"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/tags?post=1926"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}