{"id":3493,"date":"2016-08-21T21:08:00","date_gmt":"2016-08-21T20:08:00","guid":{"rendered":"http:\/\/phoenixgamedevelopment.com\/blog\/?p=3493"},"modified":"2016-08-21T21:12:27","modified_gmt":"2016-08-21T20:12:27","slug":"p-152-virtual-world-concept-update-158-planet-sized-terrain-part-37","status":"publish","type":"post","link":"https:\/\/phoenixgamedevelopment.com\/blog\/p-152-virtual-world-concept-update-158-planet-sized-terrain-part-37\/","title":{"rendered":"P-152: Virtual World Concept Update 158: Planet-sized Terrain: Part 37"},"content":{"rendered":"<p>I am making strong progress with the distance scaling\/LOD system for the spherical terrain, but it has been slow progress.<\/p>\n<p>The restructured scaling and LOD\u00a0system seems to be working out ok, it is now almost complete. Tier 1 is completely working again, although this is the easiest tier, since the view distance is the longest.<\/p>\n<p>I have solved some issues with the performance of the system (the culling was not being done in some cases) and I also had some issues with texturing and a lot of issues with the general tier-subdivision.<\/p>\n<p>There are still some problems with Z-fighting in the system, as can be seen from the below images, and there are also problems with Tier 2 that do not seem to have been fully solved with the switch to the new system, but I feel I am relatively close to a solution. The issue is, as I mentioned previously, dealing with a situation where the user is too far away to simply cull anything outside 10k, but too close to render the planet\u00a0as a scaled-down sphere.<\/p>\n<p>The general approach that I am using is to render the planet as a scaled sphere until it reaches a point where it cannot be scaled up anymore without causing rendering or precision issues. That is tier 1. Then I switch to tier 2, which will subdivide all nodes within view of the player, (based on their current distance from the planet&#8217;s surface) and cull the rest. The hope is that this view distance will be within the limits for 32-bit precision. If not, I may have a problem. Once the user gets to within 10k of the surface, I switch to Tier 3, which is a very highly detailed level with an extra subdivision step and a collision mesh.<\/p>\n<figure id=\"attachment_3486\" aria-describedby=\"caption-attachment-3486\" style=\"width: 300px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/08\/PhoenixGameDevelopment-18_08_2016-02_13_23-AM.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-3486\" src=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/08\/PhoenixGameDevelopment-18_08_2016-02_13_23-AM-300x192.jpg\" alt=\"P152_DEBUG 18\/08\/2016 , 02:13:23 AM Torque 3D MIT - P152\" width=\"300\" height=\"192\" srcset=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/08\/PhoenixGameDevelopment-18_08_2016-02_13_23-AM-300x192.jpg 300w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/08\/PhoenixGameDevelopment-18_08_2016-02_13_23-AM-768x492.jpg 768w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/08\/PhoenixGameDevelopment-18_08_2016-02_13_23-AM-1024x656.jpg 1024w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/08\/PhoenixGameDevelopment-18_08_2016-02_13_23-AM.jpg 1922w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-3486\" class=\"wp-caption-text\">P152_DEBUG<br \/>18\/08\/2016 , 02:13:23 AM<br \/>Torque 3D MIT &#8211; P152<\/figcaption><\/figure>\n<figure id=\"attachment_3488\" aria-describedby=\"caption-attachment-3488\" style=\"width: 300px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/08\/PhoenixGameDevelopment-18_08_2016-12_16_07-AM.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-3488\" src=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/08\/PhoenixGameDevelopment-18_08_2016-12_16_07-AM-300x192.jpg\" alt=\"P152_DEBUG 18\/08\/2016 , 12:16:07 AM Torque 3D MIT - P152\" width=\"300\" height=\"192\" srcset=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/08\/PhoenixGameDevelopment-18_08_2016-12_16_07-AM-300x192.jpg 300w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/08\/PhoenixGameDevelopment-18_08_2016-12_16_07-AM-768x492.jpg 768w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/08\/PhoenixGameDevelopment-18_08_2016-12_16_07-AM-1024x656.jpg 1024w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/08\/PhoenixGameDevelopment-18_08_2016-12_16_07-AM.jpg 1922w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-3488\" class=\"wp-caption-text\">P152_DEBUG<br \/>18\/08\/2016 , 12:16:07 AM<br \/>Torque 3D MIT &#8211; P152<\/figcaption><\/figure>\n<figure id=\"attachment_3489\" aria-describedby=\"caption-attachment-3489\" style=\"width: 300px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/08\/PhoenixGameDevelopment-17_08_2016-05_49_05-PM.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-3489\" src=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/08\/PhoenixGameDevelopment-17_08_2016-05_49_05-PM-300x192.jpg\" alt=\"P152_DEBUG 17\/08\/2016 , 05:49:05 PM Torque 3D MIT - P152\" width=\"300\" height=\"192\" srcset=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/08\/PhoenixGameDevelopment-17_08_2016-05_49_05-PM-300x192.jpg 300w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/08\/PhoenixGameDevelopment-17_08_2016-05_49_05-PM-768x492.jpg 768w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/08\/PhoenixGameDevelopment-17_08_2016-05_49_05-PM-1024x656.jpg 1024w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/08\/PhoenixGameDevelopment-17_08_2016-05_49_05-PM.jpg 1922w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-3489\" class=\"wp-caption-text\">P152_DEBUG<br \/>17\/08\/2016 , 05:49:05 PM<br \/>Torque 3D MIT &#8211; P152<\/figcaption><\/figure>\n<figure id=\"attachment_3490\" aria-describedby=\"caption-attachment-3490\" style=\"width: 300px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/08\/PhoenixGameDevelopment-18_08_2016-02_59_37-AM.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-3490\" src=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/08\/PhoenixGameDevelopment-18_08_2016-02_59_37-AM-300x192.jpg\" alt=\"P152_DEBUG 18\/08\/2016 , 02:59:37 AM Torque 3D MIT - P152\" width=\"300\" height=\"192\" srcset=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/08\/PhoenixGameDevelopment-18_08_2016-02_59_37-AM-300x192.jpg 300w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/08\/PhoenixGameDevelopment-18_08_2016-02_59_37-AM-768x492.jpg 768w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/08\/PhoenixGameDevelopment-18_08_2016-02_59_37-AM-1024x656.jpg 1024w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/08\/PhoenixGameDevelopment-18_08_2016-02_59_37-AM.jpg 1922w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-3490\" class=\"wp-caption-text\">P152_DEBUG<br \/>18\/08\/2016 , 02:59:37 AM<br \/>Torque 3D MIT &#8211; P152<\/figcaption><\/figure>\n<figure id=\"attachment_3491\" aria-describedby=\"caption-attachment-3491\" style=\"width: 300px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/08\/PhoenixGameDevelopment-18_08_2016-02_26_11-AM.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-3491\" src=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/08\/PhoenixGameDevelopment-18_08_2016-02_26_11-AM-300x192.jpg\" alt=\"P152_DEBUG 18\/08\/2016 , 02:26:11 AM Torque 3D MIT - P152\" width=\"300\" height=\"192\" srcset=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/08\/PhoenixGameDevelopment-18_08_2016-02_26_11-AM-300x192.jpg 300w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/08\/PhoenixGameDevelopment-18_08_2016-02_26_11-AM-768x492.jpg 768w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/08\/PhoenixGameDevelopment-18_08_2016-02_26_11-AM-1024x656.jpg 1024w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/08\/PhoenixGameDevelopment-18_08_2016-02_26_11-AM.jpg 1922w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-3491\" class=\"wp-caption-text\">P152_DEBUG<br \/>18\/08\/2016 , 02:26:11 AM<br \/>Torque 3D MIT &#8211; P152<\/figcaption><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>I am making strong progress with the distance scaling\/LOD system for the spherical terrain, but it has been slow progress. The restructured scaling and LOD\u00a0system seems to be working out ok, it is now almost complete. Tier 1 is completely working again, although this is the easiest tier, since the view distance is the longest. [&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-3493","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\/3493"}],"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=3493"}],"version-history":[{"count":5,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/posts\/3493\/revisions"}],"predecessor-version":[{"id":3500,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/posts\/3493\/revisions\/3500"}],"wp:attachment":[{"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/media?parent=3493"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/categories?post=3493"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/tags?post=3493"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}