Procedural City

Started by aknight0, November 14, 2021, 07:46:52 pm

Previous topic - Next topic


I'm sure this has been tried before, but I was experimenting today with creating a procedural city from displacements.  No good for close-up shots obviously, but gives a city-like feel from far away.  The voronoi section is pretty heavy on render time unfortunately.  


1.jpg 2.jpg


That's awesome! I think DandelO or someone shared something like this years ago but since lost.


Wow, this is amazing!!! Thanks a lot!!


hi, and thanks for the file.

I walked through the setup and found that you use a LOT of Colour Adjust nodes!
They substantially contribute to the render times. The attached picture I posted
shows a comparison between your original setup and only just one Colour Adjust node altered.

I went into "Road Grid", "sineWave" and inside I changed "Colour adjust shader 02".
Setting the "White point" from (your) 0.1 to 1 resulted in 10 minutes less render time.

Of course I am aware of the less defined and accurate blocks this leads to but given the fact that this is simply a background element it is worth to consider.
And as I mentioned there are a lot of Colour adjust shader nodes in your setup...a lot of potential to reduce render time.

CHeers, Klaus
/ ASUS WS Mainboard / Dual XEON E5-2640v3 / 64GB RAM / NVIDIA GeForce GTX 1070 TI / Win7 Ultimate


Thanks Klaus, good tips.  I never realized color adjust nodes were such render hogs.  It's strange as it seems like a simple node.  Is it the node itself, or the sharp-edged colors I'm producing with it here?


November 19, 2021, 12:29:06 am #5 Last Edit: November 19, 2021, 12:38:56 am by WAS
It's the sharpness, if you look in the original, there is torn geometry at the boundaries. This errored geometry will cause computational hangs. While TG is probably very optimized to quit these heavy areas before wasting too much time (hence crazy looking geometry/tears/holes/flipped through looking stuff), it still probably adds to the render time when it has to do it a million times.

Totally straight edges (on Y) aren't handled very well it seems with displacement [at least on built-in displaceable primitives] (and probably totally straight edges on any primary axis). So it's good to have a very faint, slight angle (fuzzy area).