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.
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.
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.
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.
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 :]
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.
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.
Indeed bercoin noise as well as native noise at default filtering strength works very unreliable as displacement maps. Lowering filtering to minimum seems to solve it.
BTW, got a crash when pluging beron noise in displacement while IR was running. Attaching minidump, maybe you’ll find it useful. bercon.noise.displacement.crash.dmp.7z (661 KB)
Displacement filtering not working. Changing filtering blur affects only subdivision pattern, but displacement itself remains the same no matter blur value.
Displacement produces kinda faceted result. See attached pic.
Is it known issues or should i start filling mantis report?
I tried the latest Daily Build with Emily, 1px displacement.
The 1200px render is much more stable, it never goes above 6.2GB RAM (Last daily used 12.2GB) . The precomputing was much faster as well.
But when I try to render the 6000px version, 3dsmax still crashes. My first render test ended with a complete PC freeze, waited for 15 min and took a force shutdown. On the second test I got like 10 windows with “Halt! Exceptiontime!”. I waited 15 min but nothing happened, had to force close 3dsmax. I took the time v-ray used to calculate before it began rendering and it was 18 sec, so I could have something to base my waiting time on.