View Full Version : Altitude and Latitude in Wilbur

05-09-2014, 02:38 PM
Wow. I've been playing around with Wilbur, and this is one nice bit of freeware. I'm slowly finding that it can do just about everything that I thought would be better done in GIMP re: removing some artifacts from a heightmap I have of Venus.

One thing I can't figure out is altitude and latitude shading.

How do I set the colors for altitude shading? Specifically, how do I reset the snow line? I'm in Texture>Altitude Shading. My map started out as grayscale 0 to 255. I set sea level at 67. I want to make everything above 120 white, and scale the other land colors from there. But I play around with all of the buttons and whatnot and i can't find anyhting that seems to do that. Do I need to make a custom gradiet (God help me)?

The latitude thingy, as near as I can tell, doesn't do anything. I've seen that a while ago there were problems with it in multi-core processors. Is this still so?

05-09-2014, 03:16 PM
Altitude shading has been one of the real problems in the Wilbur shader since its inception. The model is that there are two gradients: one of altitudes above sea level and one for altitudes below sea level. There have been some add-ons to that model (opacity, min/max, lightness for ocean, and so on), but the basic model is still that you get two gradients (or Color Lists) that are mapped to two altitude ranges.

For what you're trying to do, try turning on the Absolute Coloring button on the altitude side and the setting Altitude Max to 120.

What I really recommend is using Filter>>Mathematical>>Span and setting the min/max values that you want in the units that you want. If your sea level isn't exactly where you want it, Filter>>Mathematical>>Offset lets you adjust the altitude of your entire selection (or whole world if there's no selection). To keep things, use File>>Save with type MDR to keep the altitudes exactly as they are at that point.

radicalcartography (http://www.radicalcartography.net/index.html?histplanets) is fun to play with and shows that Venus has a maximum altitude of about 11000m above average and a minimum of about 4000m below average. Setting the altitude range to min=-4000 and max=11000 gets you the base Venus altitudes in meters. Then you can use your desired units in the Altitude shader.

For the latitude tab of the Wilbut to contribute to the final output, you must set a meaningful latitude range using Surface>>Map Info. For a whole-world map, set Top to 90, Left to -180, Right to 180, and bottom to -90. Then use the Blending tab on the Wilbur shader to activate it. Enter a 1 (or appropriate amount) into the fields for "Latitude". It's a bizarre user interface, I know. It's an example of the triumph of evolution over planning.

05-09-2014, 04:59 PM
Ha! Setting Altitude Max is what I was looking for. I clearly was not understanding that interface.

Where do you set the altitude range to be in meters, as you describe? You can't set it in Map Info. And using Filter>>Mathematical>>Span to set it clearly isn't what you're talking about. (Thank God for Undo.)

EDIT-- Actually, that is EXACTLY what you meant. I figured it out. Nice. But now my seas are all a uniform dark blue. EDIT AGAIN-- Aha! I needed to set Abs Min in the sea level texture...

Are you saying that you can use Filter>>Mathematical>>Span to set a sea level, and that you can set it separately in a selection? For instance, to make an endorheic lake that is below sea level or something? Hmmm. I'll have to play with that when I have some time tonight. Likewise the Latitude thingy.

And thanks for the tip on Filter>>Mathematical>>Offset. That's going to come in quite handy.

Next question: The cursor position reading in my bottom bar gets cut off on the right side. Thus, what gets cut off tends to be the thing I want most- altitude at the mouse cursor. Is there a way to fix that? (Heck, just roundingto one decimal instead of four would probably work great for me.) I've tried all the switches in Preferences.

Next Next Question: How do I make the sea one uniform color, for ease of making a sea mask after exporting an image into GIMP? I supose that you could select by height and fill the selection uniformly, but is there a more elegant method?

Next Next Next Question: Is there a way to figure out how much of your world is covered in ocean? Or, for that matter, to select a small continent or other region and get it's area?

EDIT-- I just discovered Map Projection. Awesome. Did I mention that this is outstanding freeware?

05-09-2014, 06:18 PM
I would not recommend using span to try to set an interior lake. See Fun with Wilbur, Volume 5 (http://www.ridgenet.net/~jslayton/FunWithWilburVol5/index.html) for a suggestion on how to do rivers and lakes (I strongly recommend the rest of the Fun With Wilbur series as well).

I have not had a problem with the status bar pane text getting cut off. It might be a feature of your system hardware (e.g. a high-DPI setup or large-sized fonts). That item is not configurable except for display style as specified in Edit>>Preferences, unfortunately.

Try Texture>>Gray Maps>>Sea Mask to get a sea mask.

Wilbur doesn't have a feature for counting pixels.

As a concern, Wilbur is old enough to vote for president, but not quite old enough to drink in the US: Its progenitors are plenty old enough to drink. It's had many, many hours of development over the years. It still has problems caused by decisions made way back in the beginning that would be incredibly costly in terms of time to fix.

05-10-2014, 02:05 PM
Can you make a selection and do Fill Basins only in the selection? (I'm away from my laptop at the moment.)

05-10-2014, 02:56 PM
Can you make a selection and do Fill Basins only in the selection? (I'm away from my laptop at the moment.)

Almost. Fill Basins is a whole-surface activity, but the selection controls how the result of the fill basins is blended back into the surface (areas outside the selection are discarded, areas inside the selection are kept).

05-10-2014, 09:05 PM
So, net result, yes. (?) But since Wilbur first calculates for the entire surface it 1) may take a while, and 2) may consume memory, especially for the undo file. Correct?

I presume that if I save a file as an MDR that I can later make a grayscale BMP, JPEG, or PNG to load into GIMP? Is MDR Wilbur's native filetype, or something else?

05-11-2014, 12:06 AM
Filling basins on a selection as opposed to filling the whole map and then punching out the selection area is somewhat different, especially in terms of surface connectivity. The second process, for example, can result in large cliffs where a selection goes across a deep basin, for example.

Wilbur doesn't have a native file format as such. It has a load of formats that it can import or export. MDR is a very simple format with a header specifying width and height and the data stored in 32-bit floating-point values. The program may ask questions about encoding, but I assure you that I've never gotten around to implementing anything other than just a straight 32-bit FP raster. So exporting a file as MDR will let you load that file at a later date with exactly the same height information, but it won't save anything about the shaders to regenerate the viewed image.

05-11-2014, 09:51 AM
Filling basins on a selection as opposed to filling the whole map and then punching out the selection area is somewhat different, especially in terms of surface connectivity. The second process, for example, can result in large cliffs where a selection goes across a deep basin, for example.

Roger. I grok that. But every time I try to Fill Basins my laptop's fan starts up in nuclear mode and nothing happens for five minutes. Do I just need to wait longer? (Actually, the same thing happens with Flood Fill.)

05-11-2014, 12:03 PM
The basin fill algorithm steps all over memory in a manner that's not particularly cache-friendly or energy-efficient (and it's also single-threaded, if I recall correctly). How fast it goes depends on your surface size, memory amount, memory speed, CPU cache (especially), and a whole host of other factors. The same is true of a lot of other algorithms. The basin fill and flood fill algorithms are recursive ones, which may make things even worse because of not only data accesses, but stack accesses as well.

The last time I profiled it, Wilbur was pretty much memory bound for everything except small surfaces that live in the L2 cache. The amount of computation in pretty much all cases is trivial compared to the memory access time. Hooray for modern hardware!