• Welcome to World Machine Community. Please login or sign up.
 
September 21, 2019, 11:47:36 pm

News:

Read the Development Diary for an inside look at World Machine's progress!



Post reply

The message has the following error or errors that must be corrected before continuing:
Warning: this topic has not been posted in for at least 120 days.
Unless you're sure you want to reply, please consider starting a new topic.
Note: this post will not display until it's been approved by a moderator.
Other options
Verification:
Please leave this box empty:
Type the letters shown in the picture
Listen to the letters / Request another image

Type the letters shown in the picture:

Shortcuts: ALT+S save/post or ALT+P preview

Topic summary

Posted by Ben
 - January 21, 2013, 12:44:04 pm
Thank you, if it's on your list then I'm happy!

In most of my current cases actually, I do believe the low res solution would work quite well. I blur and distort my rain shadows so much that details don't matter. My displaced terrain all happens before any erosion, but I think it would still make the erosion look much smoother at the edges like eroded noise with a low octave count. The giant height map route seems to be the best solution for the future either way. And in my case, I'm trying to generate an MMO sized world. I'm okay with it being 1 tiles = 8 hours to render, 8x8 tiles even. I expect that a final export will take a few weeks, spread across a few machines lol.
Posted by Stephen
 - January 21, 2013, 01:19:47 am
Hi Ben,

you definitely hit on the major problems; and unfortunately they are significant. There are a few different approaches that could yield good results for some situations, but none that I have found presently that yield good ones for all situations.

As you mentioned one major way would be to have a low-resolution guide map created of the entire area that the current tile could sample from when it needs to get outside information. This only works if the device needs rough information (your mountain/no-mountain for example), but even there it is no panacea as small features can easily be missed. Features that I would like to implement that need whole-area access (like region segmentation for example) would be a no go even with this info.

Another way to solve this is to change tiled renders to consider each tile simply a virtualized piece of a giant heightmap -- this would give each tile as much access as it wants to its neighboring info. The price here is simply speed -- tiled terrains were designed for and routinely put to you use on massive terrain datasets, and changing the pipeline to process logical ordering of  [for all devices: do all tiles] instead of  [for all tiles : do all devices] means a penalty (possibly small, possibly very large depending on the world and access patterns) unless you get quite clever.

Now, each approach above has problems, but that doesn't mean they're worse than the current situation -- either or both are an improvement. For what its worth, I have been doing active R&D and experimentation in this area particularly on the second approach to try to find a good general solution.

After 2.3 is finalized and out of beta I will be posting more details on roadmaps and my thoughts on what features I really want to get into the next version. This area of making tiled builds have less "gotchas" (which also brings some other powerful abilities along with it that are unrelated) is high on that list.
Posted by Ben
 - January 20, 2013, 12:08:58 pm
Hey everyone, Remnant! Before I tell you how much WM sucks (lol yeah right :P), thank you for your continued development and support.

First I'll say that I understand why tiled builds break (anything that samples neighboring pixels, with greater error the further the distance). I'm curious how much thought has been put into solving this issue? I'm talking about potential WM3 features obviously. I want you to finish the current beta after all! So far everyone seems to have just accepted it and moved on. In the current state, I will never be able to use tiled builds because:

- Displacement: Obviously it can't find terrain beyond the tiled borders to pull into the tile, so if I'm displacing eastward, the west border of the tile either gets stretched or mirrored. I use displacement heavily in all my terrains, it's easily my #1 tile breaker. Strike one!

- Rain Shadows: I generate rain shadows east of mountain ranges by using a lightmap with shadows only, pointing east with a very low heading. If there is a mountain range just beyond my tile borders then no rain shadow can be generated and now I get a rain forest instead of a desert. I also use this to make western coasts more lush (making a "water shadow" for roughly simulating weather) but have the same issue where a coast might lay just beyond my border to the west. Strike two and three!

Then there are the obvious ones that have been discussed in the past like erosion and blur. Erosion I feel like I might be able to get past, but I do have a few large blurs that might be heavily affected, they're currently just overshadowed by issues from displacement and...shadows.

Perhaps there's some solution where WM could get a low res version of neighboring tiles to sample from? I'm not 100% sure how good of a job that would do, but in most of my cases, I don't need high detail terrain to sample from and I'd be willing to take a fairly large render speed hit.

Here's my current project, in case you're curious. http://procedurl.tumblr.com/ I want to do a 16x16 4096 tiled render of the 2 continents, but I can't. :( The best solution I can think of is manually making tiles with extents that are 2x the size of the desired tile, render at 8192, then cut out the middle 4096 and piece together, but I feel like that will still not solve the problem completely.