Forums » Users » Kirgman
Select date in calendarSelect date in calendar

Pages: Prev. 1 2 3
CentiLeo for Cinema 4D 0.43 available
 
Administrator  Posts: 895
Oct 22, 2016 09:08
Hello everyone!

We have released CentiLeo for Cinema 4D 0.43.

Download link: http://centileo.com/forum/forum18/76-download-link-centileo-for-cinema-4d-v043-alpha

This long time we were working on performance, bugfixes, interface, stability and a couple of features. From now on we will divide the work better and release new versions with less delays.

This is a list of changes

[core] CUDA 8 support. NVIDIA Pascal GPUs should be supported.
[core] Reworked render algorithm. Now it is progressive/bucket which on the first render iteration shows the entire Beauty pass and for any subsequent render iteration it computes Beauty pass and all enabled AOVs in parallel using buckets.
[core] One render iteration (“Iter” in IPR) now means one render over entire image with guarantee that every pixel received several samples. Before 0.43 the single render iteration stochastically fired up to one million samples over entire image (and it could lead to significant noise for large resolution images). The new sampling layout of 0.43 which is automatic and adaptive leads to significant noise reduction.
[core] New AOVs: Environment, Reflection1, Reflection2, Base, Transmission, Emitters. Now up to 16 AOVs can be computed in one render process in parallel with negligible (<5%) compute overhead. All this works also in IPR mode same way.
[core] Alpha channel support added.
[core] 15% faster render iteration computation in general.
[core] 3x faster render convergence for image parts with materials with several enabled layers like: multi-material, reflections+diffuse, reflections+transmission, reflections+diffuse+SSS. For example: glass with reflections, glossy and carpaint implementations are rendered much faster.
[core] All layers of material (reflections, diffuse, transmission, SSS are combined based on weights that are relative to each other). So all the layers have equal rights inside material. Stack-based policy is removed.
[core] Faster render convergence for shadow regions (perceptually2x faster).
[core] Rendering large resolution images like 4K or 10K is 30-50% faster.
[core] Render limitations are introduced for robustness. They are indicated in IPR window. For example, smallest GPUs with 1.5-2GB memory support 30-50M polygons and 100K mesh instances. GPUs with 3-4GB+ memory support 250-400M polygons and 1M mesh instances. These limitations will be further pushed forward.
[core] Bugfix: now render can work with at least 896MB of provided GPU memory by OS/driver. This low memory budget may be available on 1.5-2GB GPUs attached to display. Switching off other GPU applications may increase available memory for renderer.
[core] Bugfix: now environment map not blurred if seen through the glass.
[core] Bugfix: now absorption renders correctly.
[core] Bugfix: fixed rare overflow problems with complex shadows.

[IPR] IPR priority is introduced (see in render settings -> IPR). Larger priority increases render speed (samples/sec indicator) but can make GUI lags. Lower priority decreases render speed by 10-20% but makes work with GUI much smoother.
[IPR] Separate render resolution setting for IPR (see render settings -> IPR).
[IPR] Render region support.
[IPR] Render pause/resume.
[IPR] Render camera lock.
[IPR] Render enable/disable automatic scene updates.
[IPR] Full scene reload button.

[C4D plugin] Large usability rework of CentiLeo materials GUI. Now can unroll attached textures right in material editor. Now can reach the editor of selected texture from material editor in one click. Now can drag&drop textures among different material properties.
[C4D plugin] Can transfer all IPR currently rendered images (in HDR mode) to Picture Viewer (push the left-most button in IPR window).
[C4D plugin] Scene copying and reloading is avoided if IPR is already running and user clicks to Cinema 4D render to Picture Viewer or render to viewport or render region.
[C4D plugin] Bugfix: material preview renders even with running IPR.
[C4D plugin] Bugfix: various problems fixed when IPR and/or Picture Viewer render are enabled.
[C4D plugin] Bugfix: various problems fixed which forced IPR render resets when expression tags are available.
[C4D plugin] Bugfix: CentiLeo material preview renders even with running IPR.
[C4D plugin] Bugfix: right side material layer toggles now have effect on render and are animatable.

Known issues to be solved

- No yet multi-GPU
- Need texture/shader copy-paste (and copy-paste as instance) across different materials.
- Need to fix problems with texture paths using “preset…” using native Cinema 4D bitmap procedures.
- Sometimes GUI of IPR window may have old style controls.
- 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)

Please, test it and say what you think! :)
CentiLeo team
CentiLeo Chat: https://t.me/centileochat
Status of preparing CentiLeo 0.43 alpha
 
Administrator  Posts: 895
Sep 23, 2016 13:08
Hello everyone!

A lot of time passed since releasing CentiLeo 0.42 for Max and Cinema. And I fell we need to post how the work on the next version is going.

The next version 0.43 is still in progress because too many things have been started for it. Some of them are quite large.
The most time consuming part is multi-GPU implementation. As soon as it's implemented we will publish the new version. It may take few days or even one week more.

So far we have already implemented:

1) Transition to CUDA 8. Now the renderer should work on Pascal NVIDIA GPUs (but we need testers for that). A wonderful thing is that even on my old GTX 970 the renderer works 12% faster with new CUDA. This new CUDA has also fixed some bugs that could touch the renderer.
2) Faster image convergence when portals are used. Not yet measured how much faster.
3) Fluent GUI responce when heavy render computations are processed by CentiLeo IPR. This is true for both 3ds Max and Cinema 4D. This is now much more pleasant to work with it.
4) More AOVs (reflection layers, base, transmission) that can be summed into beauty image. And AOV with beauty+alpha and alpha as mask.
5) 30-50% speedup when rendering large resolution images like 4K or even 10K. The speedup is better when there are a couple of AOVs computed in parallel and the image resolution is larger.
6) Fixed the bug with texture resolution downscaling for environment map visible through the glass material.
7) More bugfixes for CentiLeo in 3ds Max plugin (lile no crash with Max physical camera and Undo/Redo for materials and lights).
8) More bugfixes for CentiLeo in Cinema 4D (a couple of crashes and unnecessary IPR restarts were fixed).

What is still in progress:

1) General image convergence improvement when materials with several layers are used (almost done).
2) Material GUI improvements in CentiLeo for Cinema 4D (in the middle).
3) Multi-GPU (in the middle).
4) More bugfixes for small GPUs like 2GB which I talked about. Sometimes you have 2GB labeled on the GPU but in reality the OS may give you around 1GB (less than in the middle).
5) Will highly likely switch the layer organization of cntlStdMat to additive mode by default (when you tune the weights of each layer relative to each other). And there should be no confusion with stack-based priority. Will add optional checkboxes to enable old feature for material reflection layers where it is usefull.

Most time consuming things were performance improvements and now is multi-GPU. If multi-GPU will take even more time then we will wrap up what is done and release. In this case multi-GPU will be done for 0.44. Btw, for 0.44 we plan to accelerate renderer for scenes with many light sources (there are very promissing early experiments).

After finalizing 0.43 we will split the work so that new alpha versions will come much more frequent. New versions should be produced at least once or sometimes twice per week.
CentiLeo Chat: https://t.me/centileochat
Possible issues with 2GB GPUs
 
Administrator  Posts: 895
Aug 30, 2016 05:41
Hello everyone,

I think it's important to write about found issue.

While working with CentiLeo on 3GB+ GPUs is a lot more stable (probably there were no crash-reports).

But there are still some issues with 2GB GPUs like GTX760, 660, etc. And with several tolerant guys we realised that:

1) while CentiLeo is up and running and some other 3rd party GPU based plugin also try to run too then it (3rd party plugin) may take the whole system to the crash situation when trying to access GPU which is already busy.

2) Sometimes when initializing a 2GB GPU we still get some fragmentation issue . But in one place I have noticed my own error there and the other is the fact of attempting to use the same GPU which has no free memory because of being busy by another GPU.

So, please, if you get some issues at initialization then one way is to remove the other plugins but not CentiLeo and run it for tests. If it works without problems or with less problems then please report about it and recover the plugin set that you had before.

Sometimes when the GPU is only one and is connected to a large monitor like 4K and also give resources to OS then out of 2GBs of memory the system may give to us even less than 1GB. However right now CentiLeo requires at least 1408Mb to run without problems but we realised that this memory is not always given by OS/driver/CUDA to our renderer.

Few solutions:
1) to take this issue in mind from user side
2) and we as developers will need to make different setups of internal infrastructure for small, medium and large capacity GPUs. And try make renderer operable even in the given region of less than 1GB.
CentiLeo Chat: https://t.me/centileochat
Material UI design brainstorm
 
Administrator  Posts: 895
Aug 27, 2016 18:15
Everyone who has written here complained about usability of material UI.

So, one problem of black rendering without running IPR is one thing and will be solved.

And let's think about another problem of layouting it. I need the help of D K, Alexey Brin and pBarrelas regarding this problem.

First, I suggest to make standard button (>) for each shader slot which if non empty also creates a direct button to existing shader/texture and (...) to select bitmap. But if there are several nested shaders, they are unrollable and there could be some bugs with values updating which I saw with other engines too. But need to test it again.
Using this standard button will also consume more UI space vertically. But they are unrollable which is good.
And this button will mix our shaders with others in a menu and we will to at least pre-bake Cinema shaders to support them at least as pictures.

Do we need a checkbox together with each row with constant property and shader/texture? That checkbox can determine what is used a const value or shader for given property. Right now if shader is applied then const value contolled by slider is not used. If you want const to be used again then you need to clear the shader/texture value.
CentiLeo Chat: https://t.me/centileochat
Initial alpha version of CentiLeo for Cinema 4D ready!
 
Administrator  Posts: 895
Aug 26, 2016 14:34
Hi everyone!

In short the download link for Cinema 4D plugin is here http://centileo.com/forum/forum18/ (registration required to access it)

User manual download: https://drive.google.com/open?id=0B5kItSF2ZGc_WG5heWtmZ0gxQXc

We init the public adventure of CentiLeo renderer for Cinema 4D R16 and R17!

This video shows interactive CentiLeo integrated into Cinema 4D for a scene with 8.5 million primary polygons and 15 million displaced. Single GTX 970 (3.5 GB total) is used for this video process


System requirements

- OS Windows 7 or higher
- NVIDIA GPUs with at least 2 GB of VRAM and compute capability of 2 or higher.
- GPUs with at least 3 GBs are recommended.
- Latest GPU drivers are recommended.
- Main RAM with at least 4 GB (8 or 16GB are recommended).
- Cinema 4D R16-R17

Features of CentiLeo for Cinema 4D plugin

Geometry
1) Out-of-core geometry meshes (even hundreds millions polygons) with GPU acceleration and without GPU memory limits.
2) Adaptive on-the-fly displacement mapping with pixel precision.
3) Fast support of dynamic meshes at scene load time and during modeling with opened CentiLeo IPR window.
4) Native Cinema 4D instancing accounting on-the-fly.

Light transport (GI) solver
1) Noise-driven path tracer which accelerates rendering noisier image parts when other parts are already clean.
2) Metropolis lighting solver with firefly killer option which can improve over the path tracer for some complex lighting situations, however it is not always better than the path tracer.
Textures
1) Out-of-core and out-of-CPU RAM textures with GPU acceleration. This means that sometimes the textures may not fit even CPU memory and this case is handled.
2) Up to 16K x 16K texture image files.
3) Up to 100K textures in the scene.
4) Texture file reader is currently based on FreeImage library (http://freeimage.sourceforge.net/). All inherited limitations like the lack of certain formats will be resolved soon.

Materials and Shaders
1) CentiLeo Standard material (cntlStdMat) with 2 reflection lobes (also anisotropic), 3 SSS layers, diffuse layer and transmission layer, 2 bump map slots (global and reflection only). 30 properties overall, shaders can be applied to everything.
2) CentiLeo Multi Material (cntlMultiMat) which can combine up to 10 cntlStdMats.
3) Multi Material has displacement mapping and geometry mask slots.
4) Currently only own CentiLeo shaders are supported:
a. cntlTexture (Bitmap, file with image)
b. cntlNoise (procedural noise)
c. cntlHDRI (used for environmental maps)
d. cntlConst (for arbitrary values)
e. cntlTriplanar (implements triplanar UV projection)
f. cntlFalloff (mixes two shaders based on IOR falloff)
g. cntlColorCorrection (edits the color output of another shader)
h. cntlBlend (mixes two shaders with a shadered blend)
i. cntlBinary (performs binary basic math operation on 2 shaders like add, mul, sub, div, pow, min, max)
j. Substantially more shaders will be added in this list with special priority to Dirt, Carpaint, Gradient, Multi-Texture and more Noise types and 3rd party shaders.

Light sources
1) Basic Area, Directional, Spot and Point (spherical) light types are supported as objects.
2) Options of lights visibility for certain material layers.
3) Option to select the light pass id for certain light source.
4) Environment mapping can be enabled in CentiLeo Renderer settings for different material layers.
AOVs for compositing
1) Support for rendering up to 8 light passes which are rendered in parallel with Beauty image. These can be saved as separate image layers for further manipulation in compositing tools.

Camera
1) Only perspective camera view is currently supported
2) Depth of Field controls with sensor width, focus distance, number of blades and blade angle.
3) Motion blur is yet to be done (after Hair and Fur).

Interactive Preview Render
1) Same scene rendering as production mode.
2) Interactive reaction to camera motion
3) Interactive reaction to geometry mesh edits
4) Interactive reaction to object motion/rotation and etc.
5) Correct recognition of Cinema 4D hierarchical geometry instances and objects on the fly while modeling
6) Interactive reaction to lights/environment/materials/shaders edits.
7) Switch on/off reaction to mesh edits
Switch on/off per frame retesselation if displacement mapping is present
9) Selector of auto-focus point on the screen

Limitations
1) Up to 30 total ray bounces and up to 10 diffuse ray bounces.
2) Up to 16K textures
3) Up to 100K textures
4) Up to 2M instances of meshes in one scene
5) NVIDIA only GPUs with compute capability 2.0 and higher and at least 2 GBs of device memory (however we recommend 3 and more GB of memory).
6) Windows only version of Cinema 4D is currently supported.

Features in TODO list

1) Multi-GPU support
2) Further light transport render math improvement
3) ForestPack/RailClone
4) Multiscatter
5) Full motion-blur
6) Hair and Fur
7) Further displacement mapping improvement
8) More AOVs (more beauty, info and mask with more customization)
9) Post production Glare, Bloom and Flare, LUTs
10) Many explicit mesh UV sets
11) More procedural UV sets
12) Dirt, special carpaint, gradient, multi-texture, more noise types and other shaders
13) More photography camera options
14) Mesh lights with emission texture
15) Include/Exclude lists for lights and objects
16) IES lights
17) Shadow catcher
18) Procedural Sky system
19) Volumetrics
20) Proxy meshes
21) Support CentiLeo textures display in viewport
22) Support most common Cinema 4D and 3rd party materials, lights and maps as direct translation and conversion to CentiLeo analogues
23) Utility light lister
24) Utility texture cache upfront creation
25) Utility of production rendering for prepared scene outside of Cinema 4D
26) And more features, connections with 3rd party plugins and popular data formats improving the renderer

Known issues to be solved soon:

1) No yet multi-GPU (started working)
2) No yet support for Pascal GPUs (like GTX 1080). All we need is to transit to CUDA 8
3) May not initialize if AMD GPU is in your computer together with NVIDIA GPU.
4) Very limited scene converter tool from other renderers (only diffuse property and textures from standard C4D material)
5) Black material previews when IPR mode is not running

Have fun!
CentiLeo Chat: https://t.me/centileochat
How to create glass (and material layer organization)
 
Administrator  Posts: 895
Aug 6, 2016 15:16

This video shows how to manipulate the standard CentiLeo material (cntlStdMat) which has 4 main layers on top of each other: Reflection1, Reflection2, Base and Transmission. Each layer has mask with values from 0 to 1 which determine particular layer visibility and the visibility of the layers under it. The principle of each layer visibility determination is stack based.
So, if Reflection1 has mask=1 in some surface point then this reflection is visible and other layers (Refl2, Base and Transmission) are not. But if Reflection1 has mask < 1 then it is partially visible and then the next layer Reflection2 is analyzed. If the mask of Reflection2 is 0 then the Base layer is analyzed until we reach the bottom most Transmission layer which has lowest priority and can be overwritten by any top layer.
On attached pictures you see the renders from the scene on the video.

Quick info on Materials and Shaders

One thing to mention is that at this moment for performance reasons CentiLeo works only with own materials cntlStdMat and cntlMultiMat. However, they are very powerful. cntlMultiMat may combine up to 10 cntlStdMat materials and cntlStdMat has 30 different properties including 2 reflections, base layer with diffuse with the Sub-surface scattering mix and with transmission. Each property of CentiLeo materials can be executed with CentiLeo shaders only (at this moment) which can be found in "CentiLeo" category in 3ds Max material/map browser.

Additionally the cntlMultiMat material has the slots for shaders with geometry opacity (it is the mask which determines where the surface is visible and where is not) and the slot for displacement shader. Both geometry opacity and displacement slots execute only cntlTexture shader (basic image file) for performance reasons because they are executed in the very performance critical parts of code. Displacement will understand the shader trees in the future however for geometry opacity we can't promise this.
CentiLeo Chat: https://t.me/centileochat
Noise Aware Path Tracing vs Metropolis
 
Administrator  Posts: 895
Jul 29, 2016 17:19
Well, Evgeny Litvyakov suggested that we have problems with noise reductin with interiors with rough transparent curtain.
http://centileo.com/bitrix/components/bitrix/forum.interface/show_file.php?fid=244

And it is true, we are unhappy with that becase we need higher performance.

Here are few ideas how to solve it:
1) First, create a rectangular CentiLeo Area Light covering your windows between interior and exterior and make "is portal" flag enabled.
2) Second, try use Metropolis sampler as opposed to Path Tracer.
Metropolis is enabled with "Firefly killer" parameter.
If it is > 0 then Metroplis will be working on indirect lighting and Noise Aware path tracer will be working on direct lighting.
If Firefly killer is close to 1 then it will kill better all the hard and bright hot spots but it can also send to the grave some bright edges of indirect image portion.
If Firefly killer = 1 then it will have no fireflies with more iterations but it will be not a very honest picture. Some value like Firefly killer = 0.5 or 0.8 are very good.
If Firefly killer = 0 then both direct and indirect lighting are computed with Noise Aware Path tracing and spend ~1.5x more samples per render iteration.

See the pictures with Evgeny interior MLT (firefly killer = 0.5) vs Noise Aware Path Tracing (firefly killer = 0):
Here NAPT version computed 8:30 mins and MLT computed the same scene 6:16min (it is cleaner a little bit but looses some few detailes).

3) One more recomendation is for those people with good GPUs. Simply increase render iteration power up to 1. It denotes that every iteration will compute more samples. It will icnrease the indicator of Million samples / second (see in Interactive render window).

4) Wait until a new version with better automatic noise detection for NAPT.
CentiLeo Chat: https://t.me/centileochat
Pages: Prev. 1 2 3