Software and Hardware for 3D Animation

There are many different software applications out there to choose from. It doesn’t matter whether your budget is $0 or $1000. Free software exist out there and it’s very high quality. Yes I’m referring to Blender.

Blender

Blender Logo

Blender Logo

https://www.blender.org/

Blender is a 3D creation software suite, it can do almost everything you can think of when it comes to manipulating and creating 3D models. You can box model, digital sculpt, procedural programming, rendering, and much more. But the most attractive feature of Blender is probably is that it’s free and it’s actually good quality software.

Blender is coming out with a new version called “Eevee” which is Blender version 2.8, it’s still in Beta release mode, but to be honest many people including myself are already using it in production for renders and animation. Cycles Blender 2.79 is the predecessor of Eevee and has been the main Blender version for many years now. Cycles was very famous for being able to render images very quickly. In comparison to commercial software, Cycles can produce equivalent render times and in some cases render images even faster than commercial software, depending on what the scene is. I hear Eevee is even faster with real-time rendering performance and UI.

Disadvantage of Blender

The official release of Cycles (Blender 2.79) doesn’t use Nvidia’s new RTX cores and isn’t compatible with the RTX graphic cards’ lineup, so you won’t even be able to render with it. However if you don’t mind using one of Blender’s daily builds of Cycles, it works just fine, completely compatible with the RTX graphics card. I personally use this version of Cycles with my RTX 2080 and I can’t tell any difference in performance. Eevee of Blender v2.8 is compatible with the RTX graphic cards.

Cycles was never famous for being user friendly. It had the same complex UI as its predecessors. It took me a bit to get use to it, but I have to admit now that I can’t live without it. The UI for Blender has been completely redesigned for Eevee in version 2.8 and it looks a lot more user friendly for new users to the Blender family. The look and feel looks very modern and updated as well.

3D Animation & Realistic Rendering

Cycles and Eevee are pretty impressive, but when you get good enough in the 3D industry for home use or professional, you may find yourself looking at upgrading the graphics card to speed up your workflow. Here are some example of render times for a simple 3min animation short.

3min Animation at 30fps in HD

For example, if you’re making a short 3min animation at 30fps in 1080p, which is pretty standard on youtube nowadays. It takes around 15sec to render a frame, this number is totally random, and will depend on your scene. Sometimes it will take minutes to render a single frame depending on your lighting setup or materials in the scene. I try to find ways to keep it at 15sec to render a frame, because anything above that will take too long on my own system. Anyways, it will take 7.5min to render 1sec of animation and 22.5hrs to render the 3min of animation.

3min Animation at 60fps in 2k

For example, if you’re making a short 3min animation at 60fps for 2k, which is really high quality resolution. Say it takes around 15 sec to render a frame, which is pretty fast, it will take 60min to render 1sec of animation. And to render the whole 3min it will take 180hours to render.

Nvidia’s RTX Graphic Cards

As of the writing of this article, Nvidia came out with a new family of graphics card last year, called “RTX”. They announced their new RTX cores which is suppose to calculate ray-tracing on the fly so you can do real-time realistic rendering, so no more calculating tiles. However during the release of Nvidia’s RTX graphic card lineup, the technology was too new and no software application had implemented their fancy RTX cores into their software applications yet. So everyone suffered a dilemma when choosing to purchase the new RTX graphics card, because it is very expensive! Even more so than the GTX 1080 Ti’s which dominated the market for many years and is still used as a standard for benchmarks.

A few weeks ago, Epic Games demo-ed a preview of their engine utilizing RTX cores to deliver photo-realistic rendering quality with the reflections on the Troopers’ suits in the link below.

Reflections Real-Time Ray Tracing Demo | Project Spotlight | Unreal Engine (youtube link)

What About Other Graphic Cards, Like AMD?

So for the software to be able to render images, it needs to implement the rendering features that you want into the software. For example, if you wanted to render an image using the cartoon line art effect, that feature needs to be implemented and it needs to be implemented using an API that the graphics card can understand or if using a CPU, then it needs to be implemented using a compatible API that the CPU can understand.

CUDA & OpenCL

Rendering features are usually implemented for the CPU first, and then GPU. Usually most software applications implement for Nvidia cards first using their CUDA API and then work on OpenCL for AMD cards. But not all software companies do this. You need to know there are a lot of different brands when it comes to rendering engines. Redshift is a commercial rendering engine that specializes in GPU rendering. Ardnold is a commercial rendering engine that has amazing rendering performance using the CPU.

OpenGL

OpenGL is usually used to render things on the viewport, which is your workspace on the 3D software.

Blender’s Viewport

Blender’s Viewport

zBrush Viewport

zBrush Viewport

Fusion 360 Viewport

Fusion 360 Viewport

The viewport is usually the place where you place your 3D models to work on. Nvidia supports OpenGL and I believe in recent years, a large number of AMD graphic cards support OpenGL as well. If you are considering an AMD graphics card, you need to double check with the software that you’re using if it uses OpenGL and if your graphics card supports OpenGL. Usually the software has a system requirements checklist that you can double check for compatibility.