I want to make some dents in a plane. To make the intersection more natural, I utilized the POM and PDO (Pixel Depth Offset), and the result comes great with normal material, POM works, PDO works:
But when I tried to implement with decal, the PDO is not really working.
My idea is telling the receiver(ground) the height by Specular channel:
When treat it as emissive color, it works:
But when I connect it to PDO, it fails with “your scene contains a skydome mesh with a sky material but it does not cover that part of the screen”:
it’s due to the pipeline order that depth buffer is produced before DBuffer, which contains the depth offset value that is intended for affect the depth buffer.
That build up a circular dependency relationship.
Any one has any good solution?
Unfortunately…
Per Ryan Brucks, the tech artist who authored the POM node in Unreal,
Not only that, PDO doesn’t effect shadow casting, so even if you did manage to get it to work somehow - if the decal was on a shadow casting object, the receiving objects surface would fill the dent with shadow.