Not promissed, but fixed however with delay... Test it please.
Actually you have found some hard coded limitation inside our plugin code. We have simply stopped traversing the object graph after the level of 5. So there were missing elements. Now the limit is 15. Not so good that it is a limitation but it is high. Actually we want to get rid of such limitation and support nested scene graph inside CentiLeo in a similar way to Cinema. Right now internal graph of CentiLeo is flat list of instances similar to 3ds Max exported lists. But we hope to generalize it in some future.
[C4D plugin] Fixed non-working camera tag. [C4D plugin] Fixed a couple of negligible bugs. [C4D plugin] Reduced the frequency of IPR scene/camera update detector. [C4D plugin] At the moment the camera doesn’t update during motion, only after mouse button is up. After testing will return back the updater during motion [C4D plugin] Added a setting “IPR refresh time[ms]” in RenderSettings->IPR menu which is 100ms by default and it controls how often CentiLeo checks for updates of the scene. Change Log: cntlc4d 0.452 alpha (2016 Nov 30)
[core] Significantly better performance when there are many light sources in the scenes. You may notice better noise cleaning when there are more than 10 light sources. E.g. when there are 500 light sources in the scene then 0.45 may render 50x faster than 0.44.
[core] Special image AOV called “Blend light passes”. Recall that light passes can unite several light sources of the scene. When allocated in AOV rollout together with other light pass AOVs then you can change the brightness and color tint for each AOV in post without re-rendering. Currently these settings are only in render settings.
[core] Same post-process feature as above but with “Blend beauty passes”. When this AOV is enabled then you can mix beauty passes Environment, Reflections, Base, etc.
[core] The simple Visibility settings of light sources (with on/off state only) were changed to more flexible spinners with range 0..infinity and with additional color tint per each Visible material layer by individual light source.
[core] Shadow catcher as shader. Now you can attach the color of background to any color slot of material (for diffuse or say reflection) and it will work correctly. It also supports rendering to alpha channel of shadows from HDRI which are casted to the object with shadow catcher.
[core] Alpha channel with automatic black background rendering. To render beauty and light passes with alpha channel select corresponding checkbox in AOV rollout. When selected the alpha channel will be included and the background from non-background passes will be black (this avoids artifacts on the border of opaque object and background).
[core] Translucency slot for CentiLeo standard material (placed together with diffuse).
[core] IOR slot for each reflection layer of CentiLeo standard material.
[core] Fixed confusion when color doesn’t change in case of changing the weight of some material layer (of this is the only enabled layer of material).
[core] Advanced mixing mode for CentiLeo Multi-Material. Now each layer has the checkbox “is coat”. When it is selected then the current material coats on top of materials under it (it is old mode of CentiLeo 0.44). When this checkbox is not selected then the current material is evenly mixed with the underlying materials.
[core] Added multipliers for Direct Lighting, Direct Specular and Indirect Lighting components of the rendered image. They force re-rendering and affect all beauty and light pass AOVs.
[core] Fixed weird bump map and normal map bugs when they are scaled using cntlMath/Binary or cntlColorCorrection.
[core] Fixed a couple of bugs which could caused crashes.
[core] Fixed numeric bug which caused render convergence slowdown for HDR lighting with very bright region.
[IPR] Added 3 modes for the Region Render (play = start drawing render region, pause = fix current render region, stop = continue render the full image).
[IPR] Fixed bug with appearing strange black borders when Region Render is changed to full image render.
[C4D plugin] GUI lags – fixed. But it needs testing from all of you
[C4D plugin] Normalize light energy option for light tag asked by Tiago
[C4D plugin] Strength for bump slots
[C4D plugin] Fixed default/Visible modes for object visibility properties.
[C4D plugin] Fixed material inheritance in the hierarchy of objects
[C4D plugin] Per-camera dof settings and Post-processing settings via Camera tag
[C4D plugin] Fixed Bug Array.c4d reported by Aimar
[C4D plugin] Added CentiLeo menu asked by Rodrigo (however in top submenu)
[C4D plugin] Gamma in IPR and PV now is coinside and is controlled by gamma enabled in CentiLeo post-processing menu (or camera tag). You can disable it in "AOVs" menu to export only RAW HDR images to PV without post and CentiLeo gamma.
Long again, but a lot of work was done. And 3ds max plugin bug fixing which were in CentiLeo core have delayed Cinema plugin just to make it more robust.
We have discovered a problem with initial geometry load times (when you open IPR mode). Based on 3ds Max API we currently have 2 solutions:
1) Correct loading of geometry model to CentiLeo memory format, but slow, 6:30 min for 40M poly model. This includes geometry parsing and compilation. And it eats a lot of RAM at peak consumption (and then reduced).
2) Fast geometry loader, 50 sec for 40M poly scene, 2x less greedy for RAM. But the problem is that for some CAD or some rare models it may generate wrong normals.
In 0.451 we have opted for #1 solution which correctly loads scene.
We are currently looking for the ways to make #2 correct and introduce it to the public release. It's not a matter of CentiLeo GPU geometry compiler which is quite fast. It's a matter of working with 3ds Max API. Hope it will be solved soon.
Hi muthukumaran A, sure we will make a couple of new silent videos with few new features.
Eg. basic carpaint is super simple. Just select dark blue diffuse color. Then make reflection1 weight = 1, reflection1 ior = 1.4 or similar, reflection1 roughness = 0 (and select reflection as coar chechked, this is clear coat).
After that make reflection 2 weight = 0.5, IOR = 5 or 10 or anything like that, roughness = 0.05, color light blue.
Then place a lot of area lights (or nice HDR) on top of that. You may place a couple of different HDRs for each reflection/diffuse etc.
Flakes are currently can be done with normal/bump maps to respective slos (e.g. reflection2 has own slot). Later we need to implement own procedural flakes.
As for SSS there are 3 layers there, Just for more flexibility. However they are multiple scattering
Hello Aimar, thanks for the hint! Just working on this bug and testing the things.
Will likely publish CentiLeo 0.45 for Cinema today but without this fix (and also few others mentioned). Just need to output that many new things that we have done so far in the core. But in the later few days hope we fix this and other minor suggestions too.
Hello Daniel and welcome to our board! Thanks to Rodrigo and Tiago
Usually when Cinema 4D doesn't start then it seems there is need to update NVIDIA display drivers to some latest one.
What GPU do you have? Do you also have AMD GPUs in the system?
Since 0.43 we have upgraded to CUDA 8 in order to support GTX10XX and it required all users to update drivers.
Just started to make materials as I am being a programmer can.
One thing that we need to improve is the scene load time. Render is fast, interactive experience is also very fast.
Obviously need to make SSS/refl for skin material. It's just diffuse yet
Thanks for your thoughts and welcome to our forum! I think you are right. We have noticed that C4D users love own C4D workflow a lot.
Our engine has already quite good speed and can improve in this area. And we currently need to add other graphics features like hair&fur, motion blur and particles, we want a lot of them. And materials...
I can say that we have almost no performance related settings. No #samples for different scene regions and etc. There are only "max iteration count" for render stop criterion. We will also add time and noise based render stop criterions. There are also GI clamp params to take noise under some limits. That's all. All other settings are for creativity. After 0.45 version which I hope to publish today (maybe after midnight) there should probably no need for current IPR priority param too, as the GUI lags are probably in the past (but we need more user tests to confirm).
However we have a lot of settings in material. It is very fat Uber Material. And this is not over. There will be a lot more shaders/texture types with ultimate flexibility.
Current drawbacks is that we need to support native C4D things, especially TextureTag. The most tricky thing now is to support layering materials on top of each other using these tags. However selection tags are working.
As for shaders/textures we currently have own selection menu and currently support only own shaders. See the screenshots. The reason is that C4D textures/layers/channels were not yet implemented. Also the converter from C4D native material is too limited for now.
We haven't used native Cinema texture slot because I hope it's not right to put user into confusion in the material menu telling him what is supported or not from the very long list of C4D textures menu wherein our supported shaders are hidden deeply in 2-nd level.
We have built own menu of shaders just to tell what is supported for sure. Our own shaders can be copy/pasted among different materials, aslo can drag&drop.
It is possible to build a node-based workflow on top of that. Many things are ready, just a suitable GUI choice is needed. It can be similar in some sense to the current Octane or Arnold node-based shader network.
But there is also a plan to support native C4D materials and shaders. This task can probably be done partially, not sure yet how far we can go, e.g. with glow. But we will try to do it. It depends on how we can extract their visual behavior into maths to code them inside GPU.
Please, read this changeloog. There are serious changes!
Change Log: cntlmax 0.452 alpha (2016 Nov 30)
[core] Fixed numeric bug which caused render convergence slowdown for HDR lighting
with very bright region.
Change Log: cntlmax 0.451 alpha (2016 Nov 29)
[cntlmax] fixed potential crash problems in Centileo material, IPR and Uber light source script data.
Change Log: cntlmax 0.45 alpha (2016 Nov 27)
[core] Significantly better performance when there are many light sources in the scenes. You may notice better noise cleaning when there are more than 10 light sources. E.g. when there are 500 light sources in the scene then 0.45 may render 50x faster than 0.44.
[core] Special image AOV called “Blend light passes”. Recall that light passes can unite several light sources of the scene. When allocated in AOV rollout together with other light pass AOVs then you can change the brightness and color tint for each AOV in post without re-rendering. Currently these settings are only in render settings.
[core] Same post-process feature as above but with “Blend beauty passes”. When this AOV is enabled then you can mix beauty passes Environment, Reflections, Base, etc.
[core] The simple Visibility settings of light sources (with on/off state only) were changed to more flexible spinners with range 0..infinity and with additional color tint per each Visible material layer by individual light source.
[core] Shadow catcher as shader. Now you can attach the color of background to any color slot of material (for diffuse or say reflection) and it will work correctly. It also supports rendering to alpha channel of shadows from HDRI which are casted to the object with shadow catcher.
[core] Alpha channel with automatic black background rendering. To render beauty and light passes with alpha channel select corresponding checkbox in AOV rollout. When selected the alpha channel will be included and the background from non-background passes will be black (this avoids artifacts on the border of opaque object and background).
[core] Translucency slot for CentiLeo standard material (placed together with diffuse).
[core] IOR slot for each reflection layer of CentiLeo standard material.
[core] Fixed confusion when color doesn’t change in case of changing the weight of some material layer (of this is the only enabled layer of material).
[core] Advanced mixing mode for CentiLeo Multi-Material. Now each layer has the checkbox “is coat”. When it is selected then the current material coats on top of materials under it (it is old mode of CentiLeo 0.44). When this checkbox is not selected then the current material is evenly mixed with the underlying materials.
[core] Added multipliers for Direct Lighting, Direct Specular and Indirect Lighting components of the rendered image. They force re-rendering and affect all beauty and light pass AOVs.
[core] Fixed weird bump map and normal map bugs when they are scaled using cntlMath/Binary or cntlColorCorrection.
[IPR] Added 3 modes for the Region Render (play = start drawing render region, pause = fix current render region, stop = continue render the full image).
[IPR] Fixed bug with appearing strange black borders when Region Render is changed to full image render.
[cntlmax] Less lags in 3ds Max GUI when IPR is running (needs more tests).
Note: the amount of lags was reduced so well that we recommend to up the IPR priority to 1 (in IPR settings rollout). This may increase samples/sec productivity of the IPR rendering. [cntlmax] Changed Standard CentiLeo Material GUI. Now the const values of the properties are tuned by spinners on the left side of material. The shader slots are on the right. Between them there are sliders which blend between the corresponding const value and shader evaluated value. This solution simply brings more functionality into the same GUI area.
[cntlmax] cntlNoise shader can now be rendered and manipulated in the 3ds Max viewport.
[cntlmax] Added button “Save current IPR image” to render settings. When IPR is running and is producing many AOVs at one time then this button may help saving all these images to the specified location at once.
[cntlmax] Fixed few other small bugs.
Known issues to be solved soon :)
- No yet multi-GPU
- May not initialize if AMD GPU is in your computer together with NVIDIA GPU.
- Very limited scene converter tool from other renderers (only diffuse property and textures from Standard material and Vray material)
- UVW mapping change of parameters may not be accounted by IPR scene auto update mode. To be solved.
- Need to finish implementing integration with ForestPack/RailClone/MultiScatter
Will post few comments and demos about this new update when will publish the update for CentiLeo to Cinema 4D (will be out soon, hope today).
One image demonstrates a 3 minute render performance with 136 light sources distributed randomly among planes which may block the light. The planes have glossy-diffuse materials in a dark environment.
Another image is shadow catcher which is implemented as a simple shader which is usefull to be attached to color of diffuse layer and even reflection layers. So reflections are supported.
Will wrap up current developed things for 0.45 and publish it. Other features go to further versions.
It currently the same history with other lights too like Omni and Spot. Currently when you change SizeX/SizeY you change the area of the light source, but the intensity (with multiplier) is specified for the entire light area. So the same intensity is evenly distributed on entire light area (if area become very large then intensity of small light part may become less bright). So when you change the SizeX/SizeY the emssion doesn't change but the softness of shadows changes.
I remember that few other renderers have a checkbox to "normalize intensity over area" which basically tells that intensity is specified for unit area (not for the whole area). Should I do similar option too?
Default environment color - it is used to illiminate the scene only when Sky with cntlEnvMapTag (HDRI) is not specified. It works per each visibility set (available in this tag). There are 5 of them: visible for camera (it is a background), for reflections, base and transmission. It is possible to setup diffent HDRI for each visibility set. But if some visibilit set (eg. camera) has no enabled checkbox (eg, "visible to camera") then default env color is used.
This is true that to disable default env color you make it black. Can add checkbox enabled/disabled so that color is not needed to change.
For those curious in status of development of CentiLeo 0.45 we can report:
Done features:
1) "Light pass blender" and "Beauty pass blender" - these are 2 new AOVs wherein you can change the lighting based on scaling the light passes realtime without re-rendering. Similar to LightMixer of Corona and Multi-Light of Maxwell.
2) Visibility settings per light source now have not only checboxes (enabled/disabled light) but also the scale and color factors for each material layer. It simply gives more freedom.
3) Few improvements for GI solver. That our adaptive GI solver is now a little bit more clever attacking most noisy areas even earlier.
4) Each render iteration is around 10% faster.
5) Several bugfixes. Most recent is fixing scaling and combination issues inside the shaders for bump and normal maps.
6) Imrpoved the situation with lagging GUI when IPR is running.
7) Material GUI has now dedicated Reflection IOR (default 1.4)
8) Only CentiLeo for Max: changed material GUI adding Mix params between const and texture.
Working very hard to publish it soon. #3 and #4 are easy, but #1 and #2 may requre some effort.
Also want to say that adding support for Multi GPU and interactive ForestPack/RailClone/Multiscatter are postponed again and will go separate to this upcoming release because these features may change stability on the first release with them.
See small manual trick which may help increase perfomrance 2x:
Initially in 0.44 CentiLeo grabs all the free memory of GPU. Instead a better way is first to allocate less memory for caches, then push Reset. And then change settings to high cache sizes and push Apply. After this manual mumbo-jumbo it may become 2x faster (see samples/sec). Will try to automate this process.
0.45 is still under preparation, it has a lot of changes
That's good! Just wanted to write you about it. Because since 0.43 we have moved to CUDA 8 and it requires the latest display drivers.
Since 0.43 CentiLeo became much faster.
Recentily we have found few interesting things.
For example
1) if in Hardware Settings you set rather small GPU cache sizes (below 1GB for geo and 500MB for tex)
2) then start IPR.
3) And after that while IPR is running you may increase the cache size to previously set maximum.
If make steps 1-3 the renderer may perform faster (sometimes much faster for small scenes) compared to default behavior where max cache sizes are enabled and with which you start IPR.
For next version we will try to make this process automated. It's quite intersting thing with the roots from out of CUDA driver.