Chaos Corona Forum
Chaos Corona for 3ds Max => [Max] Daily Builds => Topic started by: rowmanns on 2019-10-03, 09:21:14
-
Hi,
In the v5 Daily builds starting from 2019-09-30 we are proud to release the new 2.5d displacement!
It is much more memory efficient than the original displacement, allowing much finer displacement (smaller screen/world size) while using less memory.
Enabled by default for new scenes, but disabled for older scenes for backwards compatibility.
It can be enabled by a new checkbox in performance tab of render settings.
The daily build is available to all license holders. Info and download:
https://coronarenderer.freshdesk.com/support/solutions/articles/5000570015
Any tests are welcome, and we are super interested in your feedback.
-
New vs old. Render settings: 1px for new displacement and 3px for old displacement. Old displacement consumed less memory and looks better despite vastly larger screen size. Artifacts in new displacement mode, is very obvious. Floor displacement is exaggerated on purpose. Also there's quite noticeable change in lighting/shading (?) on the wall's corner. Might be because wall material also has displacement, albeit very subtle.
Edit: Corona uploader doesn't want to work, so if you need the scene, let me know and i provide the link though PM.
-
Hi,
I just tried the uploader and it seems to be working for me. Could you try again?
We are aware of some issues with artifacts and and memory consumption, these will be addressed in the upcoming dailies.
Cheers,
Rowan
-
I tried, but it just doesn't work. I will write you PM with the link to the file.
-
Yes, we'll be releasing displacement fixes and optimizations in next daily build. In some extreme cases the memory consumption is now 10x lower than in last daily.
-
Hi Romullus,
Just an update, I have rendered your scene with the upcoming daily build and I think the results are much better with pixel screen size set to 1.
Please see the attached comparer: https://corona-renderer.com/comparer/jHB5dA
Note, it's obvious that the displacement on the mirror is now different. However it looks more correct to me now.
Thanks,
Rowan
-
Great to hear that! Looking forward to new build.
P.S. mirror material doesn't have displacement - it was just misplaced geometry, which i moved to correct position before sending the scene.
-
The daily build with the artifact fixes & additional optimizations has just been received, so enjoy :)
-
It's weekend, why are there no new renders here? ;)
Just kidding of course, but we are super interested in your experience with the new build.
-
Loosing optix denoiser holds me back from dailies and perhaps new version.
-
There's a big discrepancy between two displacement methods in how they treat mapping channels. If 2nd or higher mapping channel of an object is empty and there's a displacement map in the material, which uses that channel, then new displacement ignores that map and do not displace geometry (which seems logical), but the old displacement for some reason is copying mapping from the first channel and pastes it in the empty channel (which seems odd).
I can no longer reproduce artifacts, which is nice, 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?
-
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.
-
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.
Hi Romullus,
Is there any chance you can send over this scene?
Thanks,
Rowan
-
Sure.
1570453279_displacement-test.7z
-
Sure.
1570453279_displacement-test.7z
Thanks!
Regarding the issue with the mapping channels, I think this has been reported: https://forum.corona-renderer.com/index.php?topic=25036.msg152049#msg152049 Can you confirm it's the same issue?
Rowan
-
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.
-
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
-
I've created proper report in bug reporting board.
-
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?
-
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.
-
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
-
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?
-
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
-
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?
-
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.
-
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.
-
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 :
(https://forum.corona-renderer.com/index.php?action=dlattach;topic=26398.0;attach=113672;image)
Corona 4.1 3D displacement
(https://forum.corona-renderer.com/index.php?action=dlattach;topic=26398.0;attach=113674;image)
-
It is more visible on small details :
Max displacement :
(https://forum.corona-renderer.com/index.php?action=dlattach;topic=26398.0;attach=113684;image)
Corona 4.1 3D Displacement :
(https://forum.corona-renderer.com/index.php?action=dlattach;topic=26398.0;attach=113686;image)
-
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?
-
Thanks for the info & renders guys. We'll definitely investigate this once we get the 2.5D+autobump daily build out (today hopefully).
-
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?
Hi Romullus,
In my tests this only happens with the old displacement + autobump. I tested this in the upcoming daily and the artifacts are not produced with the new 2.5D displacement + autobump.
Can you confirm this works for you with the 2.5D displacement + autobump in the upcoming daily build?
Thanks
-
I will check it... if i won't forget :]
-
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
Hi Romullus,
Thanks for the attached scene, however the ball is displaced in a different size for the Corona and Max displacement methods.. Did you have the same issue?
Thanks,
Rowan
-
Hmm no, size should be exactly the same between them. The only thing i changed, was displacement screen size to keep triangles count roughly the same, IIRC it was 1 px for 2.5D and 1.4 px for classical. Maybe the difference is because of system units? I'm working in centimeters.
-
Hi,
That's really strange, this is the result I am getting: https://corona-renderer.com/comparer/NCVpAi
Rowan
-
This looks strange indeed. I will check my scene later today - maybe unknowingly i did some changes before sending you the file.
-
To get a fair comparison, you'd better set a high displacement value in world unit, like 999cm, and manage the tessellation amount with something like a Turbosmooth or a subdivide modifier. That way, geometry will not be subdivided by the displacement algorithm, only displaced using existing topology. You should end up with the exact same polycount.
-
Hmm, but would that really make a fair comparison? I think it's more important to keep the test closer to real world scenario. If shading issue is related to tesselation, then we shouldn't try to eliminate it. On the other hand, it could be interesting to try your described setup and see if that would make any difference.
-
That's how I made my tests and the shading issue is not related to the subdivision method. I bet on some sort of smoothing (or no smoothing) applied after the displacement of geometry.
Between tests, the geometry normals passes are exactly the same (ie same topology) but the shading normals passes are not.
That said, I still can't figure out which one looks the best.
-
[..] however the ball is displaced in a different size for the Corona and Max displacement methods. [..]
Checked my scene, but it works as expected. Maybe you forgot to turn off modifier or displacement map at some point? Anyway, i slightly modified the scene and made it more prone to errors. Now, it's simply matter of hiding unhiding layers. Please see if the difference is still there.
1570788823_displacement-shading-02.7z
-
[..] however the ball is displaced in a different size for the Corona and Max displacement methods. [..]
Checked my scene, but it works as expected. Maybe you forgot to turn off modifier or displacement map at some point? Anyway, i slightly modified the scene and made it more prone to errors. Now, it's simply matter of hiding unhiding layers. Please see if the difference is still there.
1570788823_displacement-shading-02.7z
The new scene works great. Thanks!
-
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?
Hi Romullus,
In my tests this only happens with the old displacement + autobump. I tested this in the upcoming daily and the artifacts are not produced with the new 2.5D displacement + autobump.
Can you confirm this works for you with the 2.5D displacement + autobump in the upcoming daily build?
Thanks
Hi Rowan,
I can confirm this, my findings are exactly as yours - bug happens only with the old displacement + autobump.
-
Can you guys redo your shading tests with 10.10 build with autobump on? It should be better now.
Adding some more tests. This time it was more about "get the same or better quality with lower requirements".
V4 defaults settings (3px) vs 10.10 defaults settings (2px)
30 minutes
Passes: 29 vs 31
RAM: 8 vs 5.6
Parsing: 13.3 vs 6
https://corona-renderer.com/comparer/OtMzh9
V4 vs 10.10 - 1px displacement
Pardon the quality. I only wanted to see the numbers for this one.
RAM: 20.5 vs 6.8
Parsing: 102.9 vs 14
https://corona-renderer.com/comparer/7v97B2
-
Hi Maru,
I already tested that build and shading inconsistencies remain. Auto-bump was deactivated tho, as I see no point activating it for comparing shading behavior. It will just make it harder to see.
-
Btw, is there a way to upload images that use your comparer tool?
-
I AM IMPRESSED!!!!!
It seems you need slightly smaller pixel size to get the same quality, but the speed and ram savings are huge. Well done guys!
(both tests without autobump, we never use it)
-
Btw, is there a way to upload images that use your comparer tool?
AFAIK only we can add images to the comparer tool. If you have some you'd like to see in the comparer which demonstrates the new displacement let me know.
Cheers!
-
We used to use Juxtapose before we had our own internal one, if that's any help - https://juxtapose.knightlab.com/
-
Huge lifesaver feature, I have been waiting for this kind of feature for a long time.
really amazing guys... just like Peter said, well done and thank you.
Here is my comparison in a real-world scene that I have been working on to test the new feature in the real-world situation...
I have tested Corona 4 with old displacement with and without Auto Bump in comparison with Corona 5 with 2.5D new displacement with and without Auto Bump feature...
I have set a noise level limit of 5.0 to all tests so I can compare the render time.
in Corona 4 with 0.5px I have got low on ram(I have got 64GB Ram on my system) warning both with and without the auto bump. and render time was near with auto bump it was 38min and without it 33min.
in Corona 5 I have no issue with ram in any way... huge step up. and parsing time was actually decreased which is awesome.
-
Huge lifesaver feature, I have been waiting for this kind of feature for a long time.
I AM IMPRESSED!!!!!
Thanks so much for testing! Your reactions make us happy. :)
-
Thanks so much for testing! Your reactions make us happy. :)
This feature is game changer for exterior stuff where are always a lot of things like ground, rocks, cobblestone) you save me a lot of nerves and time)) thanks you guys for implementing this!<3 It remains to add a geopattern and shader with a coat and sheen and we are done.
-
Here is my comparison
Very good info, thanks :]
But how on earth is 2px + Autobump slower than 0.5px without autobump O.o
Also, if autobump generates bump information from the displacement texture, doesn't that mean that the normal map and / or bump map is irrelevant?
-
Now it's also much easier/faster to render stuff like snow with small details, even with 1px displacement. Check it out: https://forum.corona-renderer.com/index.php?topic=9691.msg62456#msg62456
-
Providing my test scene here I created during dailies. If you want to print the used values into the render stamp you just need to execute the CoronaCustomRenderstamp once, it's inside the attached archive.
Good Luck
-
Providing my test scene here I created during dailies. If you want to print the used values into the render stamp you just need to execute the CoronaCustomRenderstamp once, it's inside the attached archive.
Good Luck
Is this some sort of bug report?
-
Just a scene to play with displacement quickly. However
I was for example not able to get rid of those regular artifacts along displaced edges, even with pixel size 1.
is maybe something I'd like to know how to solve, but no bug report at all.
Good Luck
-
Recently did some tests with 2.5 displacement and I was not able to achieve exact visual parity out-of-the-box.
The previous version of the scene used legacy displacement with 1.0 pixel size. The scene was updated to 2.5 displacement with .667 (default) pixel size. Displacement height was not adjusted.
To be sure, the difference is *minuscule* but visible.
Is there a conversion factor in terms of pixel size or displacement height (intensity) to match the 2.5D displacement with legacy displacement exactly?
-
I have noticed some "ghost" displacement, which is produced by the DR in conjunction with shadow catcher material.
-
I have noticed some "ghost" displacement, which is produced by the DR in conjunction with shadow catcher material.
Hey,
Can you send over your scene or a simplified version please?
Rowan
-
Hello,
So 2,5D Disp vs Regular
for me in this and many similar circumstances is unusable.
-
Hello,
So 2,5D Disp vs Regular
for me in this and many similar circumstances is unusable.
Hi Tanakov,
Can you send over your scene? Of even just a simplified one of the carpet?
Thanks,
Rowan
-
Here it is
https://we.tl/t-lXKzQYALwA
-
Here it is
https://we.tl/t-lXKzQYALwA
Hi,
Thanks for sending it over. I have sent it on to the dev team for futher investigation.
Cheers,
Rowan
(Internal ID=420575272)
-
I love the new 2.5 Displacement...
Finally, I can do all walls truly bumped. Just wanna say Thank you, dev team, for it.
-
Hi,
We have improved the tessellation of the 2.5d displacement in the latest v7 daily build. This should resolve a lot of the artifacts which were present when using the 2.5d displacement.
You can download it here:
https://forum.corona-renderer.com/index.php?topic=30876.msg182287#msg182287
I look forward to your feedback.
@Tanakov I checked this with your scene: https://corona-renderer.com/comparer/nMeBcb It looks much better now :)
Rowan
-
Quickly tested latest two DBs against each other with draft geometry (+subdivide). Yes, it got better. Displacement map is just a checker.
Good Luck
-
I'm yet to check this due to being in the middle of live projects etc, but if you haven't already, it would be good to check the 'fixed' displacement is consistent across the different Chamfer modes in the Max Chamfer modifier, for example, Uniform, Radial, Patch, Quad etc.
What you choose here, currently has quite a noticeable effect on the displacement quality as I've just found out with the current stable release (Corona 6). Some real strange edge artifacts that become noticeable when opting for 'Patch' mode compared with 'Uniform' but sometimes you need to use the different modes and so it the displacement artifacts become unavoidable. It's worth noting this happens with both normal and 2.5D displacement.
Hopefully this has already been addressed and won't be an issue in V7 :)