Parallax Occlusion Material?

Coming from CryEngine, I am thrilled to have made the switch to UE4 yet find myself looking for a nice POM material setup.
Is there such an example included in any of the demo content?
The carpet in the Realistic rendering showcase seems to make an attempt but it’s not POM.

Check out M_CobbleStone_Rough and M_Cobblestone_Smooth used in the StarterMap.

K, the StarterMap!
Could you be a tiny bit more specific please?

Nvmnd, got it, thanks!

A POM material function would be nice to have!

the UE4 examples come with Parallax Mapping, where the quality isn’t as good as POM.

here’s a quick comparison:
http://graphics.cs.brown.edu/games/SteepParallax/compare.jpg

Parallax mapping also doesn’t come with self-shadowing.
In UDK I used a technique that (with no relation to mine) was also developed and named as Iterative Parallax Mapping by . in my version I used the LightVector to calculate SelfShadowing, but sadly the LightVector node isn’t available in UE4

so right now if you want a high-quality bump/displacement/whatever, DX11 displacement needs to be used but it seems overkill for environment assets. and it would be nice to have a better alternate solution to it

POM is a DX11 tech either way. Bump offset is needed along with DX11 and Tesselation in order to get proper POM. It isn’t an overkill because this engine is for Next gen machines only. Thats my 2 cents.

CE3.5’ Pixel Perfect Displacement works without any tesselation no?
It looks quite stunning too. The examples in UE4 are ok-ish.
Maybe the textures are in part to blame.

These shaders are to be considered normal for such a type of effect?
They look like a stacked rocket of nodes to me.
Am I right that if you want to copy these for another material,
you will find yourself changing 12 normalmap slots, masks and then
pray you didn’t differ some kind of tiny bit from the source so
you’ll get a completely different effect?

Make functions and export the maps as parameters to be used in instances.

POM is a dx9 tech. I implemented it in UDK as well (the “pancake” version of POM) and it was slow if you wanted good quality, especially if I didn’t add some distance fading into it

the fact that this engine is next gen doesn’t mean all graphical features come free from performance impact. you still can’t add tessellation+displacement everywhere in a level.

Dont think so, crysis 1 had POM and that was dx9/10.

It was the first time POM was introduced and that was DX10 only. Pom on DX9 didn’t exist. There is also a newer POM technique “Silhouette POM” which is a lot more expensive and DX11 only.

This doesn’t make much sense. POM, Tessellation Displacement and Bump Offset Mapping are 3 different techniques by itself. POM is not related to DX11 or Tessellation.

Just because Crysis came with POM doesn’t mean it’s DX10.
POM was developed in 2004 and did run on DX9/SM3.0 hardware. Same for pom with silhouette clipping.

Ah cool, Thanks for correcting me then.

You can always construct your own parallax algorithm. There are plenty of papers on the subject:

http://http.developer.nvidia.com/GPUGems3/gpugems3_ch18.html
http://amd-dev.wpengine.netdna-cdn.com/wordpress/media/2012/10/I3D2006-Tatarchuk-POM.pdf

That’s right, although only one of those 3 papers is about POM. First is Cone Step Mapping, third is Iterative Parallax Mapping.
There also is a UDK Gem which you could rebuild in UE4 or use as a starting point. Since doing loops with nodes is a pain I’d rather put it in a custom node.

I’m also trying to do POM and displacing mapping in UE4, i’m trying various Technics but I just can’t make it look like in Cryengine 3…
Cryengine 3 has the best POM, and its so simple to do… hell even the Marmoset toolbag have better POM i can have the right POM configuration in just about 4-8 seconds in the toolbag!
I can’t understand why epic make it so dam difficult… all this nodes in the material editor it’s not an easy workflow,
and yes, I came from Cryengine 3 :wink:

Can you share what you have? I’ve just started to look into this. The BumpOffset/BumpOffset_advanced material functions seem to give a parallax effect, but not POM.