{"id":3230,"date":"2014-06-06T17:38:33","date_gmt":"2014-06-06T07:38:33","guid":{"rendered":"http:\/\/www.vectorstorm.org\/?p=3230"},"modified":"2014-06-06T17:38:55","modified_gmt":"2014-06-06T07:38:55","slug":"carving-geometry","status":"publish","type":"post","link":"https:\/\/www.vectorstorm.com.au\/2014\/06\/06\/carving-geometry\/","title":{"rendered":"Carving geometry"},"content":{"rendered":"

\"Carved\"<\/a>Today I spent some time investigating what it would take to carve new road geometry into the ground, instead of using my current ground-deformation system.\u00a0 The screen to the left shows approximately what that looks like.<\/p>\n

In this screenshot, I’m only carving the road out of the terrain, I’m not actually drawing the road — the blue that you see is actually the sea, underneath the terrain.\u00a0 The blue and red polygons seen around the edges are where I’ve had to add detail which doesn’t exist in the base terrain (Blue are polygons with 4+ vertices, red are triangles).<\/p>\n

On the one hand, I kind of like this approach, since it yields extremely smooth and precise road geometry, regardless of how close or far you are from the road, completely independent of what LOD of the terrain you’re looking at.<\/p>\n

On the other hand, it turns out to be absurdly slow.\u00a0 On my system, in an unoptimised build, it takes a fraction of a second to build road data into the terrain.\u00a0 It’s so fast that you don’t notice any delay at all.\u00a0 Doing this terrain carving, on the other hand, takes me about six seconds for a medium-length road.\u00a0 It happens in background threads, so it doesn’t make the game pause, but it does mean that you’re staring at a blank terrain for quite a while after placing a road, before the road begins to be drawn.<\/p>\n

Since this turn out to be feasible, I’m going to stick with the same road rendering system that I’ve been using since MS2, for the MS4 build.\u00a0 It’s a little blocky sometimes, but I’m going to put off dealing with making it nicer until I start focusing on graphics and content, which will be around the MS6 build (which I’m also expecting to be my ‘alpha’ build).<\/p>\n

And speaking of MS4, my issue tracker tells me that I’ve addressed 92% of what I wanted to have in it.\u00a0 Which is true, but perhaps a little misleading, since I have a couple small tasks which haven’t made it into the issue tracker yet, and one fairly big and nebulous task that’s listed as a single task, instead of as a set of smaller, specific tasks.\u00a0 Regardless, I’m feeling pretty confident that I’ll be able to finish up the MS4 build sometime around the middle of this coming week.\u00a0 Further details as I get there!<\/p>\n","protected":false},"excerpt":{"rendered":"

Today I spent some time investigating what it would take to carve new road geometry into the ground, instead of using my current ground-deformation system.\u00a0 The screen to the left shows approximately what that looks like. In this screenshot, I’m only carving the road out of the terrain, I’m not actually drawing the road —…<\/p>\n","protected":false},"author":1,"featured_media":3232,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":""},"categories":[24,25],"tags":[],"jetpack_featured_media_url":"https:\/\/www.vectorstorm.com.au\/wp-content\/uploads\/2014\/06\/Screen-Shot-2014-06-06-at-5.20.27-pm.png","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/po9WK-Q6","_links":{"self":[{"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/posts\/3230"}],"collection":[{"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/comments?post=3230"}],"version-history":[{"count":1,"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/posts\/3230\/revisions"}],"predecessor-version":[{"id":3233,"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/posts\/3230\/revisions\/3233"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/media\/3232"}],"wp:attachment":[{"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/media?parent=3230"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/categories?post=3230"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/tags?post=3230"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}