Author Topic: 2.5d Displacement Playground!  (Read 17526 times)

2019-10-07, 15:15:54
Reply #15

romullus

  • Global Moderator
  • Active Users
  • ****
  • Posts: 8779
  • Let's move this topic, shall we?
    • View Profile
    • My Models
Negative. The report you've linked, is about displacement only working in base layer of layered material. I'm talking about mapping channels. They are independant from materials. Let me know if you want more detailed report with examples and max scene.
I'm not Corona Team member. Everything i say, is my personal opinion only.
My Models | My Videos | My Pictures

2019-10-07, 15:37:29
Reply #16

rowmanns

  • Corona Team
  • Active Users
  • ****
  • Posts: 1892
  • Corona for 3ds Max QA Team
    • View Profile
Negative. The report you've linked, is about displacement only working in base layer of layered material. I'm talking about mapping channels. They are independant from materials. Let me know if you want more detailed report with examples and max scene.

Hi,

Ah okay. In that case then yes, a more detailed report and scene would be really helpful.

Thank you
Please read this before reporting bugs: How to report issues to us!
Send me your scene!

2019-10-07, 17:25:33
Reply #17

romullus

  • Global Moderator
  • Active Users
  • ****
  • Posts: 8779
  • Let's move this topic, shall we?
    • View Profile
    • My Models
I've created proper report in bug reporting board.
I'm not Corona Team member. Everything i say, is my personal opinion only.
My Models | My Videos | My Pictures

2019-10-08, 10:56:33
Reply #18

FrostKiwi

  • Active Users
  • **
  • Posts: 686
    • View Profile
    • YouTube
One more test. New displacement @ 1px VS old @ 3px VS old @ 3px with disabled autobump. In my opinion, old displacement with enabled autobump, looks the best.
Ohh, 2.5D Displacement does not gradually replace Displace with Normal/Bump at a distance?
That would be a hard blow to usability. Or is that just a bug?
I'm 🐥 not 🥝, pls don't eat me ( ;  ;   )

2019-10-08, 11:12:58
Reply #19

romullus

  • Global Moderator
  • Active Users
  • ****
  • Posts: 8779
  • Let's move this topic, shall we?
    • View Profile
    • My Models
Autobump option is greyed out when 2.5D displacement is chosen. I wouldn't say it's a deal breaker, because autobump works very well in some instances (like in my last example), but quite often it fails miserably and much better results are obtained with autobump being turned off. Anyway, it might be just temporarily and maybe devs will make autobump to work with new displacement too.
I'm not Corona Team member. Everything i say, is my personal opinion only.
My Models | My Videos | My Pictures

2019-10-09, 12:48:29
Reply #20

rowmanns

  • Corona Team
  • Active Users
  • ****
  • Posts: 1892
  • Corona for 3ds Max QA Team
    • View Profile
but displaced geometry still has strange shading on shallow angles with new displacement. I wonder if it's a limitation of 2.5D displacement, or maybe things can be improved here?

Hi Romullus,

Do you have an example of this shading issue? I would like to see exactly what the problem is.

Thanks,

Rowan
Please read this before reporting bugs: How to report issues to us!
Send me your scene!

2019-10-09, 15:18:48
Reply #21

romullus

  • Global Moderator
  • Active Users
  • ****
  • Posts: 8779
  • Let's move this topic, shall we?
    • View Profile
    • My Models
It might be that situation with shading is not as black and white as it seemed to me at first. I want to make more tests before sending you a scene.

Meanwhile, i found that with vector displacement, shading difference is very obvious and this time 2.5D looks much better. Scene attached.

UPD: it's autobump! If used with vector displacement, it causes severe artifacts. I wonder if Corona could automatically detect when VDM is used and disable autobump?
« Last Edit: 2019-10-09, 15:25:34 by romullus »
I'm not Corona Team member. Everything i say, is my personal opinion only.
My Models | My Videos | My Pictures

2019-10-09, 19:50:59
Reply #22

romullus

  • Global Moderator
  • Active Users
  • ****
  • Posts: 8779
  • Let's move this topic, shall we?
    • View Profile
    • My Models
Ok, so i was pretty unsure which displacement method has better shading, so i decided to compare them to real geometry... turns out they both are wrong, very wrong. As you can see from silhouette, all three spheres are pretty much equal, but the shading is vastly different.

I tried to make comparison as fair as possible - autobump was disabled and screen size was adjusted, so that each sphere renders at about 3M triangles.

Uploaded scene name is: 1570643508_displacement-shading.7z

I'm not Corona Team member. Everything i say, is my personal opinion only.
My Models | My Videos | My Pictures

2019-10-09, 23:17:14
Reply #23

Fluss

  • Active Users
  • **
  • Posts: 553
    • View Profile
Made the test on corona 4.1 and also noticed a difference in shading between max displaced geometry (Displace modifier) and 3D displacement (autobump off). I managed to get the exact same polycount. By peeping CGeometry_NormalGeometry pixel values, both passes seem exactly identical. On a contrary, CGeometry_NormalsShading and CGeometry_NormalsDotProduct passes differ quite a lot and that seems directly correlated to the shading discrepancies we observe on the beauty pass. I bet this is just a smoothing thingy. So the real question is: shouldn't we have control of how displacement is smoothed?
« Last Edit: 2019-10-10, 01:10:33 by Fluss »

2019-10-10, 13:25:53
Reply #24

maru

  • Corona Team
  • Active Users
  • ****
  • Posts: 12709
  • Marcin
    • View Profile
Here are some of my tests. I used a material with nothing plugged into its bump slot. It was only using displacement.
Rendered for 5 minutes into 4096x2304 resolution.
Used Corona Renderer 4 Hotfix 1 and an internal daily build (not yet released to the public) - 2019-10-04 grid-autobump

1) 3px with autobump on - V5 2.5D displacement vs V4 classic displacement
RAM: 1.8 vs 6.1
Parsing: 1.8 vs 14.7
https://corona-renderer.com/comparer/c7s2om

2) 3px classic displacement with autobump on - V5 vs V4
RAM: 5.1 vs 6.1
Parsing: 12.3 vs 14.7
https://corona-renderer.com/comparer/Hpo6XL

3) 1px classic displacement with autobump off (pure geometry) - V5 vs V4
RAM: 41.7 vs 49.5
Parsing: 122.4 vs 138.6
https://corona-renderer.com/comparer/MwcRUQ

4) 1px without autobump (pure geometry) - V5 new displacement vs V4 old displacement
RAM: 3.5 vs 49.5 - 14x difference
Parsing: 17.3 vs 138.6 - 8x difference
https://corona-renderer.com/comparer/VnB46Y

5) V5 new displacement only - 1px without autobump (pure geometry) vs 3px with autobump
RAM: 3.5 vs 1.8
Parsing: 17.3 vs 1.8
https://corona-renderer.com/comparer/NrVvT2

6) V5 new displacement 1 px without autobump (pure geometry) vs V4 old displacement 3px with autobump
RAM: 3.5 vs 6.1
Parsing: 17.3 vs 14.7
https://corona-renderer.com/comparer/FrWJGm

7) Geometry normals - 1 px without autobump - new 2.5D displacement vs old displacement
https://corona-renderer.com/comparer/BqzLGU

Note: to quickly see which example is rendered in old version and which in new version, just check out the render stamp. The new version is the one with antialiasing in render stamp font. :)

These tests were done just to get some numbers.
In the next ones I will try to get numbers + show the benefit of using the new displacement when it comes to image quality.
« Last Edit: 2019-10-10, 13:37:14 by maru »
Marcin Miodek | chaos-corona.com
3D Support Team Lead - Corona | contact us

2019-10-10, 14:32:01
Reply #25

agentdark45

  • Active Users
  • **
  • Posts: 579
    • View Profile
Ok, so i was pretty unsure which displacement method has better shading, so i decided to compare them to real geometry... turns out they both are wrong, very wrong. As you can see from silhouette, all three spheres are pretty much equal, but the shading is vastly different.

I tried to make comparison as fair as possible - autobump was disabled and screen size was adjusted, so that each sphere renders at about 3M triangles.

Uploaded scene name is: 1570643508_displacement-shading.7z

This is interesting, I noticed some similar shading irregularities when displacing a carpet on a scene a while ago. Overall the carpet got a lot darker (to be expected due to the shadowing between the displaced tufts), but something was definitely off with just how dark it got compared to the non-displaced simple normal mapped carpet, that was almost as passable as the displaced version. This was with v4 btw.
Vray who?

2019-10-10, 14:45:46
Reply #26

Fluss

  • Active Users
  • **
  • Posts: 553
    • View Profile
Hi marru ! I have no doubt about the benefit of using 2.5D displacement and that's a really good and long-awaited feature! But romullus post is raising some interesting question about shading normals as it as a tremendous impact on how the surface react to light.

How is that handled on the displaced geometry? Is there any smoothing occurring after geometry displacement?

Max displacement :


Corona 4.1 3D displacement
« Last Edit: 2019-10-10, 14:59:24 by Fluss »

2019-10-10, 15:05:28
Reply #27

Fluss

  • Active Users
  • **
  • Posts: 553
    • View Profile
It is more visible on small details :

Max displacement :


Corona 4.1 3D Displacement :

2019-10-10, 15:22:15
Reply #28

romullus

  • Global Moderator
  • Active Users
  • ****
  • Posts: 8779
  • Let's move this topic, shall we?
    • View Profile
    • My Models
Yes, that smoothing issue for me is the most concerning thing with displacement at the moment. I wonder if it's a recent change, or if it's been like that from the begining?
I'm not Corona Team member. Everything i say, is my personal opinion only.
My Models | My Videos | My Pictures

2019-10-10, 15:58:16
Reply #29

Ryuu

  • Former Corona Team Member
  • Active Users
  • **
  • Posts: 654
  • Michal
    • View Profile
Thanks for the info & renders guys. We'll definitely investigate this once we get the 2.5D+autobump daily build out (today hopefully).