So how does microdisplacement work now in 2.79?

(RickyBlender) #3

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 ?

happy bl

(Serin) #4

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

(Sackadoo) #5

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

(RickyBlender) #6

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.

happy cl

(Serin) #7

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

(J_the_Ninja) #8

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.

(Lumpengnom) #9

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.

(Sackadoo) #10

Yup, thus the crashing problem.

(J_the_Ninja) #11

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

(Serin) #12

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.

(Secrop) #13

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.

Multi-res to texture displacement?
Baking displacement / bump maps from dimensional objects - how?

@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:

(RickyBlender) #15

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 ?

happy cl

(Ace Dragon) #16

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.

(RickyBlender) #17

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

happy cl

(RickyBlender) #18

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 ?

happy cl

(Serin) #19

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

(Ace Dragon) #20

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).

(Emir Sinan Gürlek) #21

Hi @Secrop , could you please explain further how to use that Python file? My mortal brain can’t figure out :confused:

I thought i could just ‘run script’ as seen at @nudelZ 's video but no success (it doesn’t give any error too):

Also another question: How is it possible to apply adaptive subdivision without tear effects? When i try to apply it something other than a plane, it tears apart from the seams generated. But in video there was no problem applying it to a rectangular prism.

I’ve also checked your post from 2 years ago but failed baking a proper vector displacement map:

Here is the asteroid like shape i created for my tests: Asteroid_multires.blend (854.6 KB)

Here is the final bake result i can get (probably wrong):

(Secrop) #22

Download the master in the zip format, install it from the preferences menu, just like any other addon, and enable it.
After that, the DisplacementBake node will be available in the node editor.

To use it on your file some things need to be done…
First, you need an UVmap in your object. Also, with the multires modifier, it’s allways better to ‘reshape’ it before proceding.
The baking target images should be 32bit floating point, and their colorspace (on the Properties panel) should be set to ‘raw’.
In the file bellow, I just duplicated the asteroid, and changed the multires with a subdiv on the new copy.
From here, is just baking the ‘position’ from the multires obj, then baking the ‘Object Displacement Vector’ on the subdiv obj.
In the end we just need to plug the baked texture directly in the displacement socket.


Nutelz “make bake” script