We can finally release an update CentiLeo 0.55 for Cinema 4D with new displacement mapping engine. There work was so long because there was a lot of R&D and new algorithms were created to make DM efficient.
We have opted to make DM based on geometry pre-tesselation because we want it to support arbitrary shader networks as input and to make vector displacements too. Both these things are impossible without pre-tesselation. And with this fact many problems may happen like huge poly-counts, screen adaptivity artifacts, not so fast tesselations and renderings. However, we have solved many of these. Btw, there are still some drawbacks and vector displacements are not yet added, but we will fix that at later stage.
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!
Download link (site registration required):
Change Log: cntlc4d 0.552 alpha (2018 June 16)
[core] Improved displacement precision in pixel adaptive mode (subtle waves in animation are removed).
Change Log: cntlc4d 0.551 alpha (2018 June 12)
[core] Added overall displace scale and waterlevel parameters.
[cntlc4d] Fixed wrong texture rotation displayed in the viewport.
[cntlc4d] Fixed GPU priority toggling in IPR.
[cntlc4d] Focus distance data from CentiLeo camera tag is automatically moved to corresponding field of the camera object.
Change Log: cntlc4d 0.550 alpha (2018 June 7)
[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] Displacement Alpha map is used as the mask of displacement values of the current material which can be useful when several materials are stacked as layers in Cinema 4D.
[core] Option of Autobump mapping as a supplemental tool for Displacement.
[core] Added support of 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.
[cntlc4d] CentiLeo camera Depth of Field now listens for native C4D camera focus distance property with proper updates when changed from C4D Editor or CentiLeo IPR.
[cntlc4d] 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.
Known issues to be solved
- May not initialize if AMD GPU is in your computer together with NVIDIA GPU.
- Very limited scene converter tool from Cinema 4D native materials (only diffuse color and texture are converted and translated if assigned to the object)
- May not support non-latin texture paths.
We are currently using JUCE library (
If everything works well on main technical side then we will buy the full license of JUCE and get rid of these small issues.