Displacement Based City

Fully Displaced City

Lately i've been spending a lot of time looking in to procedurally generating textures, designs and anything I can think of. I hadn't tried full models yet though. I wanted to test out Vue's ability to displace geometry using it's internal primitive shapes. Below is a render of what used to be a simple flat plane or card that has a displacement map applied to it. The map was also created in Vue.

Vue City Displacement Test

Render of the displacement map

Render of the displacement map

In order to keep the geometry from becoming jagged I displaced only in straight lines along the geometries natural shape. One thing i noticed from the start is how inefficiently things were being displaced. While this may not sound surprising if you've ever worked with displacements in other programs let me explain. Since the map I am using is essentially infinite and has no aliasing or other artifact issues that may come from a traditional displacement map and since I am using Vue's plane primitive which automatically sub divides as need and isn't user set, the idea was that this should turn out with very clean geo. However, I noticed that some edges were still being displaced with jagged edges as though the displacement function was being rasterized before being applied. The issue was even more noticeable when looking at angled edges which created a stepped effect. This may have more to do with the way it's being displaced rather than the function itself though.

On the left you can see what the displacement map looks like. Bellow is what the function looks like in the function editor.

Vue Displacement Graph

Vue Displacement Graph

Unless this was retopologized in some other software or significantly decimated without any edge loss this unfortunately wouldn't be much use except for still pictures or at least not at this scale. Much smaller setups could be useful.

I went ahead and threw another texture on it with some lights to make it feel more like a city.

Some fun with gradients

Cube Based

So that was testing a more global large scale environment with displacements. Now i wanted to see how it looked for more small scale per building. I created a new displacement function that worked with the texture (this is one of the huge benefits with working this way). Since my displacement was based on the color and the color based on the displacement the results look pretty good and actually like they were planned.

Cube Displacement Test

There are still some issue especially along the edges of the cubes where things get stretched to far. But all in all the result is pretty nice. Just to be clear these are just cubes (5 in the upper image). Bellow I put some more cubes in as well as pushed the lighting down to show more of the lights (something i'm going to go over in a bit).

Here is the graph for the color production and displacement. This also includes the luminosity, if you look at the image above there is only 1 light in this scene, all of the "window" lights are being drivin by the texture and luminosity. This by itself however doesn't do the full trick. If we render with global radiosity these bright points actually provide lighting input as though they were actual lights.

Cube Displacement Graph

Bellow are some more renders with different illuminations to test the lighting.

The displaced cubes created the best results. Since the texture and displacement can be driving each other there's some good possibilities.