We release CentiLeo 0.55 for 3ds Max with new powerfull displacement mapping engine too!
As said in C4D 055 thread there were many R&D tasks that should be solved to make it working normally.
Our Displacement mapping tech is based on pre-tesselation of geometry before rendering. But it's fast and has good memory economy.
This pre-tesselation approach helps to use arbitrarty shading networks now. And it will allow to extend it to vector displacement mapping in the future.
Currently CentiLeo displacement mapped objects are tesselated very-very quickly and render very fast. Faster than competitor pre-tesselation methods. Potentially hundreds million unique triangles can be handled very efficiently if needed for very high resolution.
See this changelog to get the idea how new feature works. We now turn attention to mesh lights and many new shader nodes.
Please, test it and share your opinion!
Change Log: cntlmax 0.552 alpha (2018 June 16) [core] Improved displacement precision in pixel adaptive mode (subtle waves in animation are removed).
Change Log: cntlmax 0.551 alpha (2018 June 12) [core] Displacement mapping functionality based on explicit geometry pre-tesselation with very efficient memory usage, fast tesselation and fast rendering.
E.g. with GTX 1070-1080 Ti it’s possible to generate and render 1-2 billion unique micropolygons (and more with instancing) – of course if you have at least 32GB of usual RAM.
[core] Displacement mapping supports the whole shader network including current and future procedural shaders/texture mappings except of falloff and other view dependent things.
[core] Displacement mapping can be combined without any issues with deformation motion blur (applied to base geometry, not to displacement height params).
[core] Displacement mapping parameters are controlled through menu of CentiLeo Material that is applied to geometry object.
[core] CentiLeo IPR mode doesn’t retesselate and displace the objects automatically while moving the camera and/or objects. We made it manual, so the user should click the button “Tess” in IPR window to retesselate and displace all objects of the scene with new parameters or click button “Tesselate” in material menu to retesselate only those objects where material is applied.
[core] Option of Autobump mapping as a supplemental tool for Displacement.
[core] Support for 16/32 bit bitmaps for Displacement.
[core] Added rotation and filter radius params to CentiLeo Bitmap.
[core] Added more settings to CentiLeo Noise shader.
[core] Minimum required GPU memory is bumped to 1280MB. This minimum memory is necessary for CentiLeo to operate. Sometimes a 2GB GPU in an overloaded system may have less available memory after memory reductions by OS and 3D app.
[core] Fixed various rare visual bugs, e.g. a bug that made visible artifacts at low FOV.
[drawbacks] Our main work on Displacement mapping still has some drawbacks:
- no yet support for Vector Displacement Mapping (only scalar one);
- divorced surface when the vertex has several different normals (e.g. a corner of a cube);
- it doesn’t like very much when base geometry already has too dense polygon tesselation that should be displaced (there is some more memory overhead);
- no yet Dicing Camera parameter;
These issues will be solved after a series of other feature releases.
Important note We are currently using JUCE library (https://juce.com/) for IPR GUI under Personal license (which is free) for initial testing purpose. In IPR window it will show in the right bottom corner a splash screen for the first start and it dissapears in few sec. It may also connect to Google Analytics to collect end-user stats. Juce guys claim this is nothing bad but stats collection so they know who is using them. However, the plugin works perfectly without any Internet connection.
If everything works well on main technical side then we will buy the full license of JUCE and get rid of these small issues.
GPU Drivers Please, install modern NVIDIA display drivers. E.g. at least 372.70 or one of the newest.
Adjust GPU Rendering Low-priority settings Can be found in CentiLeo Renderer Settings -> Hardware Settings.
Low-priority flags are ON by default in IPR mode for ALL GPUs. For fluent work in IPR mode it’s HIGHLY RECOMMENDED to keep enabled “low-priority” setting for DISPLAY GPU and switch if OFF for other render GPUs which are not connected to the monitor. Low-priority option is useful for display GPU because it is used to display the elements and models of 3D Viewport and OS.
If you have many GPUs in one computer then Display GPU can be excluded from IPR render to have less competition between Viewport and CentiLeo for Display GPU, this can improve the system feedback overall.
0.552 update: Improved displacement precision in pixel adaptive mode for animated walkthrough.
In the past there were subtle waves on high-frequency displacement surfaces during animated walktrhough even when Edge size is 0.5 pixels (and Adapt to pixels ON). Now this artifact is removed for Edge size equal to 0.5 pixels. But still need to improve things for Edge size = 1 pixels with a more sophisticated aproach.
Btw, there was no wave problem during any animation for Edge size in world units (with pixel adaptation disabled). However, if tesselated in this mode there could be more polygon data generated than for adaptive pixel mode.
Hi Daniel, any map is usable in the bump map. Color correction however corrects the color info in certain range. But internal bump data can have negative numbers and large values which are color corrected in a wrong way. At least avoid using clamp inside color correct node or extend the limits of clamp.
I have changed the bump internals completelly in the new version. And need to make some bump correction node related to this issue
Well, the hair shouldn't work. We don't yet have spline intersection support. It was just the triangulation of hairs by 3ds max that CentiLeo is ordering. There should be considerably more efforts to make the spline rendering right and that would be cool and much more efficient than triangles.
Will test the bump + blend map and get back to you.