Cycles new microdisplacement testing, discussion and blend sharing

I don’t think you want to do that kind of subdivision on the GPU, it isn’t that good at such a task. If you’re going out to main memory anyway, you might as well let the CPU do the subdivision and not interrupt the rendering kernel. You also forgot about updating the BVH.

There are methods to perform on-the-fly tesselation/displacement during ray traversal (without updating the BVH), but they’re pretty slow. You can render extremely fine geometry that way, though, with no memory overhead.

marco, I don’t suppose you could post a quick .blend file with the setup for this?

If anyone missed it, adriano.ol posted a screenshot with the basic steps on page 10:

and there’s the wiki doc, which seems up to date:
https://wiki.blender.org/index.php/User:Maiself/Micropolygon_Displacement

Here is also one new depth
Map site, if anyone is interested: http://depthfields.com
I’m very much connected with the site author and it is blender based site. He is currently collecting as much free depth textures for the site and the idea is to be something like pixabay, but for depth maps. The site is not yet published officially, so there is some bugs and problems, but it is still possible to use it.

is there a way to use a normal map together with displacement? I know I can use the option both in the material settings in order to obtain also bump from the displacement map, but sometimes it would be nice to have separated control.

Yes Bernardo, you can plug a normal map in the normal input of shader nodes.

The mesh become completely black if I do so… I also tried to change the material settings to only true displacement instead of both, but still get black mesh.

My bad, I had not tried it - I thought it was a theoretical question. Maybe file it as a bug ?

let’s see if someone more informed know if it is a known issue at the moment, otherwise I will submit the bug :slight_smile:

I have a small feature request: can we have object scale and texel density data inputs in cycles somewhere? Maybe in the UV-Map and Object info nodes, respectively?

This would be used to manipulate the displacement amount with regards to texture density across UV-patches and/or objects with different scales and UV densities.

Right now the displacement values across different-sized UV-patches are ‘consistent’ in that they’re the same. But if you have a brick texture, you’d usually want smaller bricks to stick out less than big bricks. Either I’m blind, or that’s not currently possible. Every time you adjust your texture density, you have to also adjust the displacement scale separately.

Also, right now the displacement value is multiplied by the object scale by default. This is good in most scenarios, but sometimes it’s undesirable and you want a uniform displacement across objects with different scales. Just having object scale data would allow you to reverse this on a per-material basis where desired with a simple math node.

I’m trying blender 2.78 rc and the new cycles displacement doesn’t smooth the mesh like Catmull-Clark it does it like Simple. Also, when I try to combine the displacement modifier to create the low frequency details with the new cycles displacement for the high frequency details, the new cycles subdivision doesn’t subdivide. I wonder if it happens to other people too? Im using Mac OS X El Capitan 10.11.5

This is what happened for me, too, which is why I was hoping to see a material setup from someone who had it working properly with both.

Anyone have normal and displacement working at the same time?

In the cycles thread I was informed that it is a feature that is not currently supported, so we need to wait! :slight_smile:

procedural displacement test :slight_smile:


brick, noise, voronoi textures and a few math nodes (:

really cool! :slight_smile:

The brick texture finally becomes usable (as previously, I never used it because it doesn’t bump well) :slight_smile:

Looks like something that could be in a future installment of Indiana Jones.

Just sharing a quick test I did today using 2.78:


It’s gonna make environment building so much easier! Can’t wait till it’s in master :slight_smile:

Decided id also chime in here with a render test I made yesterday. im surprised how fast it is… although I rendered it on a relatively powerful machine.
Regardless… it looks amazing.

Scene Information:

Simple Cube with subsurf, one level.
Texture is an animated noise via mapping node.

Hi guys. 2.87 RC1 + Titan X, microdisplacement runs only on CPU.

actually I managed to use it on my 970… I also thought it would run only on GPU.