Genesee River

Started by sboerner, April 03, 2024, 01:29:15 PM

Previous topic - Next topic


Still very much early days with this project. The scene will show the construction of the Erie Canal aqueduct over the Genesee River at Rochester in 1823. The foreground will be a construction zone. The open meadow in the background (behind the red mill) will become the village of Rochester. So, placement of vegetation and ground details will change quite a bit.

Here is what this view looks like today:,-77.6088796,3a,75y,287.58h,82.01t/data=!3m6!1e1!3m4!1stdg-TNxSttQlpP2y8gh12w!2e0!7i16384!8i8192?entry=ttu.

As you can see, the historical landscape had to be built from scratch. Here is the process I came up with:

Using a old survey, I painted a rough 32-bit elevation map in Photoshop. Key elevations only: riverbed, millraces, islands and ridges. Everything was based on a datum in the riverbed. So, if an elevation was 12 feet above the datum, that area was painted with an RGB value of 12.0. (Actually the values were normalized so they would be visible in PS.)

The elevation was imported into Terragen and a vector displacement map rendered. The VDM was imported into ZBrush, where rough transitions were smoothed and some details added: riverbanks, shelving in the riverbed, the rocky ridge on the opposite bank. 

The edited surface was exported as a new VDM from ZBrush and placed in Terragen, where the final displacements and details were added.

It sounds like a lot of work, but it's much faster than using masks and simple shapes, which is how I would have done it before. And it's forgiving. Any problems can be easily fixed in ZBrush and a new VDM exported.

It's very accurate. The levels are right where I need them to be. This is important because all of the structures on either bank must be aligned properly with the river. The aqueduct model, which will extend from the near bank to the rocky ridge on the opposite side -- nearly 800 feet -- must fit perfectly.

I'll let you figure out how the water surface was modeled. There are some errors there that will be fixed as the scene gets finalized, so no need to point those out.  ;)


Cool start. It indeed sounds like a lot of work, but the editability (which is probably not a word) is great. I guess you sculpted the water in ZBrush as well, I may see some 'stamps'. This could be done in TG with a bunch of warped simple shapes, of course, but masking foam in might be easier from a ZB map.


If "editability" isn't a word, it should be. (Actually I think it is.)

Thanks for the comments. ZBrush was not used for the water, though. I did try it but wasn't satisfied with the results (my ZB skills are probably not sufficient). The solution turned out to be much simpler, and is something that probably could be used in many situations.

I'll be spending many weeks modeling -- many buildings will be required for this, plus the aqueduct "hero object" and many human figures. Keeping a close eye on the load weight. I'm not completely clear how TG manages memory, but it seems the entire scene and linked assets must be loaded into RAM before rendering. During rendering disk memory can be used if needed. Is that right?

It would be handy to have an easy way to check memory use within TG, like MeshLab.


Well, it is a word (but it was red underlined here while typing, so I thought it wasn't). So, would you care to share what was the simpler method? Base ground smoothed in TG and warped strata or simple shapes? I'm just doing some experiments in that direction.
IMO TG can handle a lot of load, and I guess you will not exceed a gig, will you? I found that TG loads an obj of say 700MB in a few seconds, while Lightwave for instance takes half a minute or so. I think it's better if only RAM is used, but I think disk memory can be used as well, but is slower (but I don't delve into techs so much).
It would indeed be handy to have a small (floating) window or a very small line of text somewhere in view that tells you load and memory use. Maybe Matt can implement something like that... some day. Task manager would be the only other option, which is what I occasionally do.


Saw your experiment in the other thread, very nice. The approach I ended up using is a bit of a cheat. It uses a vector displacement map generated from the riverbed and surrounding terrain. The VDM is then blurred slightly in Photoshop and used to displace a lake object or sphere and offset from the base terrain.

The line for the VDM is pulled out of the main network after the riverbed and banks have been displaced but before detailed displacements and fake rocks. The amount of blur depends on the scale. The more blur, the faster the water. My scale is 2 pixels per foot, and the blur I use is between 0.5-1 pixel.

Because this is a cheat you have to watch for places where water wouldn't naturally flow. If you're careful, the VDM can be edited in Photoshop to correct some of these errors. Others can probably be fixed with smoothing, etc., but I haven't gotten that far yet.

I'll attach an early test (very rough) that shows how it works with a taller waterfall. This one was about 12 feet, historically much too high for this landscape.


Thanks Steve. Your 'cheat' works nicely. Interesting. It would be great if such a method could be used 'in situ', I mean straight in TG. That's what I was aiming for, and still am.
If you pull your displacement out of a line of fractals, it you can use the smoothing filter to get the small detail out, pull it to a sphere then, raised a bit of course.
I was just experimenting with strata, but they are too hard, now I'm trying get altitude, sinus and soft max and min, but they are still kinda waves, so I pushed them one side with a warp+tilt&shear (Vdisp might work too).

Your riverbed is very nice!