Based on realtime GPU rendering technology, FurryBall RT is specially developed for various CGI and VFX needs of rendering.
We talked with Jan Tománek – creator of FurryBall RT and owner of AAA (Art And Animation) Studio, located at Prague, Czech Republic. Apart from software developer Jam is multi talented, wearing hats of an Artist, Producer and Director.
He graduated from the Academy of Fine Arts, Prague in the studio of ‘New Media’ in 2005. He is focused on 3D CGI Animation and Live Action + VFX movies. His short movies were awarded on many international festivals. His biggest credential is first Czech 3D animated full-length movie titled “Goat Story –Old Prague Legends”. It released in October 2008 and became the most successful Czech animated movie ever. In 2012, he finished the sequel “Goat Story 2 with Cheese”.
Hi Jan. Kindly share your academic and technical background.
To sum in all, I am an Artist.
My parents were artists and created classical puppet and cartoon animation movies for TV. So I grew up in the same background. There is also a big tradition of the Animation in the Czech Republic. I was always interested in Computer Games, 3D Animation and Movies. This is why I studied ‘New media’ at Academy of Fine arts in Prague university and later on started producing my own movies.
In 2008, my Art And Animation (AAA) Studio produced and developed the first Czech 3D CGI feature animated movie “Goat story – Old Prague Legends”. It is on YouTube in English dub and many dubbed language versions.
On technical front, our biggest challenge was 3D rendering. We used Pixar’s RenderMan clone for the rendering. It took us about 40-50 minutes per single HD frame. This pushed me to start working on the development of realtime GPU renderer – FurryBall.
Please explain in details the benefits of ‘GPU rendering’ over ‘CPU rendering’.
GPU stands for Graphics Processing Unit. CPU stands for Central Processing Unit.
All conventional renderer (Mental Ray, Arnold, Maya render, RenderMan, V-Ray etc.) use CPU for rendering. So there is a huge difference if you have 2 core i5 processor or the latest 14 core Xenon. But in all cases, we talk just about dozens of cores. On another hand, GPU renderers use the ONLY Graphic card for the rendering. There is no much difference what CPU do you have, because all is counted on the Graphic card. In rendering time CPU is completely idle.
In GPU, there are thousands of cores (Titan X has 3072 CUDA cores) and they count partially in the single second. We have described it deeply on our web why you should choose ‘GPU rendering’ over ‘CPU rendering’.
There is also the great NVIDIA presentation by Mythbusters – One video is more then the thousands of words.
So, how do you started with the development of the FurryBall?
At the beginning, we developed and used GPU renderer just like a prelighted for final CPU rendering. It was the year 2007-2008. In those days, GPU has just 256 or 512 MB memory. So, we had huge problems with textures and other materials. But I believed in GPU rendering and finally in 2010, first version of FurryBall renderer was launched. We made it online available for prospective clients and studios.
In 2012 we finished the sequel of Goat story named “Goat Story 2 with Cheese”. Entire 3D movie for cinemas was rendered ONLY on GPUs. It was probably the first feature movie rendered on GPU ever. But nobody in Hollywood even knows it. 😉
The movie was rendered in 2K in Stereoscopic – so it means 2x more images than previous movie. FurryBall was a HUGE speed up by the time. It rendered one single stereo frame in just 10 to 15 minutes. It was in fact two separate 2K images, so you can count that it was speed of 6x to 10x. It was very beneficial for our 3D artists as well. They had big freedom to play with lighting each scene in real-time, so the final result was much better than our previous movie. We also use fake GI and SSS for character skin and other special effects.
Let us know technical journey of FurryBall till date.
First three versions of FurryBall were based on rasterize rendering, similar technology used in computer games. It was built on DirectX, but the technology was on its total limits. So, in the version 4 we added Raytrace features into FurryBall. Rendering artist was free to select rasterized or raytraced method as per the requirement.
But, as FurryBall was working on two separate renderers, it was very hard to keep code for both. It also introduced some artifact in combining the methods and along-with speed and memory limits. Hence, in version 5 we knock off rasterize rendering system and came up with FurryBall RT (RT as acronym of Raytrace and RealTime). Real-time raytrace on GPU was the huge upgrade.
We decided to build whole technology on NVIDIA CUDA. OpenCL (Open Computing Language) technology was not so far in those days and there were huge problems with shader compilation. The trade-off for this step was that we lost all AMD users. On the contrary, today almost all GPU rendering engines are using NVIDIA technology too.
We use path tracing with an unlimited number of bounces if needed. The whole rendering method is a very similarity to Arnold path tracer. It shows real-time progressive preview in the viewport. We also support basic Arnold shader which looks totally the same in FurryBall RT – even much faster than in CPU Arnold render. 😉 We have many clients who use FurryBall RT like GPU prelighter for Arnold renderer.
Which Animation and VFX production houses are using FurryBall RT in their rendering pipeline?
The USP of FurryBall RT is that it is developed by artist for artists. It was not a project like “Hey guys, let’s make some software”. Due to this in-house development, the software is very much easy to integrate with any existing CGI and post production pipeline. It provides realtime GPU render for all these softwares: Autodesk Maya, Autodesk 3ds Max and Maxon Cinema 4D.
Beside many small studios, we have some big boys in our user’s team including Microsoft, Nickelodeon, Valve Corporation and Blizzard.
How FurryBall RT treats shaders and textures for faster production pipeline?
The shader compilation takes few seconds before each rendering starts on GPU. It is necessary to get the whole scene into GPU to prepare all textures and models. After this, all thousands of GPU cores are ready to render quickly together. But there is nothing to worry – it’s fully automatic process in the background and it takes just a few seconds.
The main problem of GPU rendering is the memory consumption. GPU render can’t use system memory and it is necessary to fit the whole scene into GPU memory. When we started with GPU rendering, the best GPUs has about 512 MB memory. So, by that time, it was really hard to fit the entire scene including textures and shaders.
Now-a-days, we have GPUs with 12 GB or even 24 GB. So, it is much better. The limitation has been lifted off. Well, it is still a problem for huge Hollywood studios for realistic VFX. Giving an example, on single Transformers model, there are about 50GB of textures. So, for them, CPU rendering is only solution.
How FurryBall helps in cross platform softwares?
We offer FurryBall RT to our customers with all three plugins for free. You will get Maya, 3DS Max and Cinema 4D plugins in the price of the renderer. You can easily integrate them in without any limits.
FurryBall RT allows seamless cross platform data exchange. You can make the whole scene in Cinema 4D and light it in Maya. It remains true even with the animation and the hair. You are able to use Maya hair in Cinema 4D. Check out following video to understand production pipeline of FurryBall RT.
We also offer free version on our website, so any user can try it out.
I believe that GPU rendering is great solution for middle size and small studios and FurryBall RT is the great helper and huge speed-up for their CGI and VFX pipelines.
Check out image gallery by real-time GPU rendering power of FurryBall RT. All artworks and renderings belongs to their respective creators only.