{"id":2658,"date":"2016-04-10T23:59:22","date_gmt":"2016-04-10T22:59:22","guid":{"rendered":"http:\/\/phoenixgamedevelopment.com\/blog\/?p=2658"},"modified":"2016-04-11T00:10:43","modified_gmt":"2016-04-10T23:10:43","slug":"p-152-virtual-world-concept-update-107-fixing-seams-on-clod-terrain","status":"publish","type":"post","link":"https:\/\/phoenixgamedevelopment.com\/blog\/p-152-virtual-world-concept-update-107-fixing-seams-on-clod-terrain\/","title":{"rendered":"P-152: Virtual World Concept Update 107: Fixing Seams on CLOD Terrain"},"content":{"rendered":"<p>One of the last major issues that I need to solve with this project is to find a way of stitching up the seams between different levels of detail. These seams are caused by the nodes being subdivided, resulting in an extra vertex on one side.<\/p>\n<p>My plan is to create a new polygon to cover up this seam. This should work, since the corner points of the new nodes bordering the seam are identical to the neighbouring node, only the midpoint is different between LOD&#8217;s.<\/p>\n<p>The problem is in determining if a midpoint is on a border or not. This is a serious problem. Due to the way that I have created my terrain, I do not have access to the neighbouring nodes when I subdivide a node. That means I can&#8217;t just check whether the neighbouring node is of the same LOD or not.<\/p>\n<p>My current strategy is to use the distance from the players position to the midpoint. I intend to create a normalised vector from the player, facing the midpoint that is being tested. I will then scale that vector by the view distance at that level of detail plus the distance from the node center to the point being tested.<\/p>\n<p>If the point being tested is on a border, it&#8217;s position should be very close to the end point of this vector. This should allow me to determine which midpoints are on a border, and which aren&#8217;t, even for multiple midpoints within the same node.<\/p>\n<p>If this doesn&#8217;t work, I may have a more serious problem.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>One of the last major issues that I need to solve with this project is to find a way of stitching up the seams between different levels of detail. These seams are caused by the nodes being subdivided, resulting in an extra vertex on one side. My plan is to create a new polygon to [&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-2658","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\/2658"}],"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=2658"}],"version-history":[{"count":4,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/posts\/2658\/revisions"}],"predecessor-version":[{"id":2662,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/posts\/2658\/revisions\/2662"}],"wp:attachment":[{"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/media?parent=2658"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/categories?post=2658"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/tags?post=2658"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}