Need to post how things are going since there are now news from us for 3 weeks already
We are working on many improvements including further noise reduction, multi-GPU, nicer material reflection look and nicer tone mapping.
E.g. the open question is whethere GGX reflection will be added or not and when we will finish multi-GPU. Hope to do it ASAP.
Few pictures about development in progress:
These are 15 min renders with scenes complex illumination interior with HDR lighting coming through 3 windows. HDR map has sharp bright sun drawn in it.
Windows have lattice to make obstacles.
The other 3 light sources are covered by some geometry: 2 lights covered by glass vases (on the left) and another one is covered by cylinder on the right.
Comparison presents "Another GPU engine", old CentiLeo 0.47 and current 0.48. Everywhere portals for windows are used, 6 GI bounces, and other settings are tuned for better performance in both engines. One 970 GTX is used for these tests.
Materials and shaders have the same complexity stucture in both engines, same amount of textures but the colors of floor and furniture are slightly different.
"Another GPU engine":
Status of preparing CentiLeo 0.48 alpha
Thanks Gael! Yes, dark regions are rendered better now. This is also important for further post work based on outputted image layers.
Also it is possible to enable one "fake" feature that helps rendering darks even better. The light sources have the checkbox "contribute to GI only". If checked then the light source contributes to GI only (i.e. to the secondary diffuse bounce) as you can see in the recent post by Ali
However, pictures in the current thread have no enabled "contrib to GI only".
#1 We had the manual trick with cache manipulation
#2 Now the renderer consumes the GPU memory not larger than available scene geometry needs + some rays cache (up to 1GB) + texture cache (up to 768MB). This fixes the problem reported by Aimar
#3 In Multi-GPU system all the available memory of single GPU will be utilized. For example if you make the render of scene using one 4GB and one 8GB GPU then the first GPU will utilize up to 4GB of memory and the second GPU will utilize up to 8GB of memory. And the first GPU in the same render may use out-of-core operations while the second may use no OOC operations because of larger capacity.
#4 However there are still some details related to limiations that we need for robustness: if some GPU is very small like 1.5-2GB then it can accept up to 30M polygons and 100K mesh instances and if GPU has more than 4GB then it may accept up to 400M polygons and 1M mesh instances. All GPUs larger than 4GB have same limits.
If you combine 2 or more GPUs with different limitations in one scene render then the smallest limitation will apply for all other GPUs. The limits are quite high and will be higher one day.
But if all GPUs in the system have same limits then #3 will effectively work.
Still working on the other things, now on the part related to texture transfers to multiple GPUs and there is some fight between few features e.g.:
1) efficient texture cache utilization inside the bucket (needed for better speed increase due to more GPU)
2) image-space noise-driven adaptivity at low sample rates
yes super fast for rendering.
Users browsing this topic