So how does microdisplacement work now in 2.79?

Yo,

Just wondering if anyone could inform me as to how to get micro-displaced terrain to render correctly in the latest builds?
The addition of the displacement node and probably some other stuff has obviously changed how it works.
Used to just be that one would have two multiply nodes, the first set to the height of your terrain and the second set to 10. But now that, along with the new node, appears to throw the result off in two axis’, rather than having it just in the z axis.

Examples:
How its supposed to look.

How it looks in cycles 2.79

Answered my own question.

Turns out it works like this.

found it
this is in the SVN from buildbot not the official version !

is this in the official 2.79 or SVN version ?
where do you find this displacement node ?

thanks
happy bl

I uhh… I just grabbed the latest from the buildbot. The official version, not the new complier one if memory serves.

Does this mean the crashing problem is corrected? I haven’t touched this since before the displacement node existed.

have not use this either
can someone tell us more about this new node !

and does this change the microdisplacement set up we had before ?
with Subsurf = 1 ect.

thanks
happy cl

Crashing problem?
The worst I usually ran into with microdisplacement and terrain was running out of vram.

No, the modifier settings are the same as before, that is for the subdivision portion of the feature. The changes are for the displacement part of the functionality, in order to support vector displacement (there’s a second node for that). The material panel setting was changed a little bit. It’s still the same 3 options, but they’ve been renamed, and the default is now “displacement” (that setting was formerly called “true”). Previously it was “bump” by default. Note that old scene files opened with newer Blender will still use “bump”, you don’t need to change it back.

Also, for displacement you don’t need to enable “experimental” features anymore. You do still need “experimental” enabled for the adaptive subdivision though.

You can do Vector Displacement now which means you can “displace sideways” and geometry overhanging.
The blue value displaces upwards and the red and green values displace sideways.

Here is an image i rendered as a test with vector displacement. The object is a simple plane. All the geometry is generated by the shader.

You have to set the adaptive subdivision to a relatively low dicing value (I used 0.25) which will subdivide the geometry a lot. These images took almost 30 GB of Ram to render.



Yup, thus the crashing problem.

It does now support reducing the subdivision rate outside the camera frustum, which can help reduce memory usage a lot.

So that’d be fantastic for overhanging slopes and rocks etc. If there were a way to get them out of a displacement map… Perhaps some other solution.

Ah. Mine didn’t often crash so much as take forever then yell at me about trying to use more than it had.

And there is!
You just need the low poly and the high poly to share the same UV coordinates.
Bake the object coordinates of the high poly objects, subtract the object coordinates of the low poly objects, and done!

I have a node (originally created by nudelZ) just for doing this stuff.

1 Like

@Secrop and nudelZ

thats super cool. Thanks for sharing your knowledge and work. This opens a lots of new things to me and slowly I understand how that vector displacement works. Thank a lot ! :slight_smile:

if it takes like 30 GB of memory
then you must have that much Ram on your PC
or it can still work on CPU ?

thanks
happy cl

A scene that needs 30 gigs of RAM can only work on the CPU (there are no graphics cards out there right now that contain that much memory in VRAM). The exception is if you use out of core memory or a card with an HBCC controller, but it will have a cost in performance.

Where, there are rumors of future pro cards from AMD that might push 32 gigs, but they will probably be quite pricey.

does it means that it will do disk swapping for memory ?

thanks
happy cl

sorry is it possible to edit a post here now and how?

I have a small machine with about 5 GB of free RAM

so it is practical to use that or useless ?

thanks
happy cl

Volta quadro has 32gb of hbm2. Figure Turing is going to be bumping that number.

Though such a card is probably at the high end of the Quadro class (ie. well out of reach for nearly everyone on this forum except for those in larger studios).

1 Like