Author Topic: New displacement feedback  (Read 7134 times)

2015-07-17, 15:55:37

hubrobin

  • Active Users
  • **
  • Posts: 61
  • Light transport ninja
    • View Profile
Hey guys,

in order to add adaptivity, filtering and "keep edges together" features to our displacement we had to completely redo it's implementation. It would be awesome if you could give it a shot and give us some feedback on it, so that we can fix all the potential bugs before the official release of 1.2.

Thanks!

Robin

2015-07-17, 21:11:58
Reply #1

romullus

  • Global Moderator
  • Active Users
  • ****
  • Posts: 8756
  • Let's move this topic, shall we?
    • View Profile
    • My Models
Just got my hands on this huge new build. Did a couple quick tests with new displacement. Very first impressions:
  • it has issues with bercon noise.
  • looks like adaptive mode gives inferior results in comparison with non adaptive

Overall, adaptivity looks mighty impressive.

p.s. since i have no experience with vray, i have no clue what's a purpose of CoronaDisplacementModifier. When should i use it?
I'm not Corona Team member. Everything i say, is my personal opinion only.
My Models | My Videos | My Pictures

2015-07-17, 21:40:38
Reply #2

romullus

  • Global Moderator
  • Active Users
  • ****
  • Posts: 8756
  • Let's move this topic, shall we?
    • View Profile
    • My Models
Loaded recent scene with not so heavy displacement and new build just run out of memory, whereas older build has no problem at all. But i guess it should go to mantis, right?

Edit: increased displacement screen size from 1 to 2.5 to get approx the same amount of pollys as in older build and scene renders fine. New displacement gives a lot cleaner result in that particular scene! Unfortunately seems like max subdivs per poly isn't working at all.
« Last Edit: 2015-07-17, 22:14:16 by romullus »
I'm not Corona Team member. Everything i say, is my personal opinion only.
My Models | My Videos | My Pictures

2015-07-17, 23:27:06
Reply #3

Ondra

  • Administrator
  • Active Users
  • *****
  • Posts: 9048
  • Turning coffee to features since 2009
    • View Profile
yes, max subdivs is not working and will be removed. please report crashes in mantis ;))
Rendering is magic.How to get minidumps for crashed/frozen 3ds Max | Sorry for short replies, brief responses = more time to develop Corona ;)

2015-07-17, 23:50:55
Reply #4

racoonart

  • Active Users
  • **
  • Posts: 1446
    • View Profile
    • racoon-artworks
May I ask why not? What is determining subdivisions in the new algorithm? If i plug in a very noisy displacement map I easily make adaptivity useless, thus producing lots of faces.
Any sufficiently advanced bug is indistinguishable from a feature.

2015-07-18, 00:11:11
Reply #5

dubcat

  • Active Users
  • **
  • Posts: 425
  • ฅ^•ﻌ•^ฅ meow
    • View Profile
I did some displacement tests on Emily.
I can render the image up to 1200px. When I try to render with a higher resolution 3dsmax crashes after a minute or two. I can't see any artifacts or difference when I enable/disable Adaptive.

I thought it was weird that my PC couldn't render the image larger then 1200px, so I fired up V-Ray. In V-Ray I can render the image with 12 000px just fine. But when the image size gets above 6000px, V-Ray begin to cache to the HDD. (I only have 16GB ram on this particular PC).

The problem with Corona is that it caps my RAM when calculating displacement, before the render begins. Corona is using 12GB RAM when calculating displacement, and then 6GB RAM when rendering. While V-Ray has the same 6GB RAM usage throughout the whole process.

I have uploaded some comparison pictures and CPU/RAM overview if people are interested. This is not a who is best comparison.
The V-Ray render is 0.5px displacement, and the Corona is 0.8px because it crashed on lower settings.
« Last Edit: 2015-07-18, 01:45:23 by dubcat »
             ___
    _] [__|OO|
   (____|___|     https://www.twitch.tv/dubca7 / https://soundcloud.com/dubca7 ( ͡° ͜ʖ ͡°) choo choo

2015-07-18, 00:33:35
Reply #6

romullus

  • Global Moderator
  • Active Users
  • ****
  • Posts: 8756
  • Let's move this topic, shall we?
    • View Profile
    • My Models
Removing of Max subdivs seems very strange indeed. Unless there'll be a better alternative to tame down hungry displacement. Increase in RAM usage during displacement calculation phase, makes displacement much less capable then it could be, i hope it'll be fixed.

Anyway did some comparison with old displacement. It seems like RAM usage is more or less the same (except big spike during calc phase). Processing time is noticeable longer. Displacement quality... well, that's quite interesting. At low settings it seems like new displacement does a lot better job - artifact free and smooth result. But at higher settings i prefer old one more. New displacement strugles to produce nice crisp result. But those impressions are based on one scene, so things may change after more testing :]

Here's some gifs:

Low:



Medium:



High:



Ultra:





Edit: fixed links
« Last Edit: 2015-07-19, 15:25:04 by romullus »
I'm not Corona Team member. Everything i say, is my personal opinion only.
My Models | My Videos | My Pictures

2015-07-18, 10:25:14
Reply #7

Ondra

  • Administrator
  • Active Users
  • *****
  • Posts: 9048
  • Turning coffee to features since 2009
    • View Profile
the new displacement filters textures - try disabling texture filtering to see if the results change
Rendering is magic.How to get minidumps for crashed/frozen 3ds Max | Sorry for short replies, brief responses = more time to develop Corona ;)

2015-07-18, 11:23:35
Reply #8

romullus

  • Global Moderator
  • Active Users
  • ****
  • Posts: 8756
  • Let's move this topic, shall we?
    • View Profile
    • My Models
OMG, you're right. Disabled filtering and results totally rocks! New displacement needs so much less polygons to render same quality in comparison with old one, it's just ridiculous. Now if that RAM usage spike could be fixed...

BTW, what about CoronaDisplacementModifier? Can someone explain me why it's needed?
I'm not Corona Team member. Everything i say, is my personal opinion only.
My Models | My Videos | My Pictures

2015-07-18, 11:32:22
Reply #9

Ludvik Koutny

  • VIP
  • Active Users
  • ***
  • Posts: 2557
  • Just another user
    • View Profile
    • My Portfolio
I think the parsing should be fixed as well. In case it's not possible to get back to old parsing speed, then i would at least prefer to have option to choose between new and old displacement. While old one had breaking edges and no adaptivity, it did not take ages to parse. For something like dirt ground where you don't need adaptivity and don't need to have separate smoothing group, old one was significantly better.

2015-07-18, 11:33:42
Reply #10

pokoy

  • Active Users
  • **
  • Posts: 1838
    • View Profile
OMG, you're right. Disabled filtering and results totally rocks! New displacement needs so much less polygons to render same quality in comparison with old one, it's just ridiculous. Now if that RAM usage spike could be fixed...

BTW, what about CoronaDisplacementModifier? Can someone explain me why it's needed?

I guess it's to make displacement independent from materials so you can have different objects with different materials use one modifier for the same displacement map. Didn't test, but that's what I expect based on how it works in other renderers.

2015-07-18, 14:10:10
Reply #11

hubrobin

  • Active Users
  • **
  • Posts: 61
  • Light transport ninja
    • View Profile
Thanks for taking the time for testing and providing the valuable feedback! I will address the memory consumption as the first thing on Monday and I believe that I will be able to get rid of the most of the overhead. In terms of the result the algorithm provides it seems that we might be on a good way. I will elaborate on all the other stuff you came over once I have discussed them within the team on Monday.

Thanks again.

2015-07-18, 17:51:47
Reply #12

Chakib

  • Active Users
  • **
  • Posts: 787
  • Corona Omnomnomer !
    • View Profile
Yep, out of memory (pc freezes) here too with without even using a high subdiv value ( size  1 instead of 2 / 300subdv )

Continuity is very nice thanks a lot !
« Last Edit: 2015-07-18, 17:59:44 by Chakib »

2015-07-19, 15:24:31
Reply #13

romullus

  • Global Moderator
  • Active Users
  • ****
  • Posts: 8756
  • Let's move this topic, shall we?
    • View Profile
    • My Models
OMG, you're right. Disabled filtering and results totally rocks! New displacement needs so much less polygons to render same quality in comparison with old one, it's just ridiculous. Now if that RAM usage spike could be fixed...

BTW, what about CoronaDisplacementModifier? Can someone explain me why it's needed?

I guess it's to make displacement independent from materials so you can have different objects with different materials use one modifier for the same displacement map. Didn't test, but that's what I expect based on how it works in other renderers.
Now it makes sense. Thank you!
I'm not Corona Team member. Everything i say, is my personal opinion only.
My Models | My Videos | My Pictures

2015-07-20, 15:29:09
Reply #14

Ondra

  • Administrator
  • Active Users
  • *****
  • Posts: 9048
  • Turning coffee to features since 2009
    • View Profile
    • it has issues with bercon noise.

    Can you be more specific on this topic? Was it also caused by filtering?[/list]
    Rendering is magic.How to get minidumps for crashed/frozen 3ds Max | Sorry for short replies, brief responses = more time to develop Corona ;)