The Blender Foundation maintains the most popular, free, open-source 3D suite, Blender. One major component of any 3D application is the chunk that turns 3D geometry into one or more 2D images. This is often passed to third-party software, like mental ray or Pixar Renderman, but basically everyone has their own internal ones.
About five years ago, Blender released a new rendering engine, called Cycles, whose just-released 2016 demo reel is embedded above. Not being held back by history, they swung for the fences with it. It supports multiple GPUs (albeit mostly NVIDIA, even to this day, due to CUDA vs OpenCL at the time — but AMD might be commissioning development soon) and integrates tightly with the editor. It produces great images, although it's very slow for cartoonish imagery (but Blender is working on a viewport renderer for that sort of content anyway).
Also, Blender with Cycles is what we used for our recent animation projects. Version 2.78 is currently in release candidate mode, and should be released very soon.
“GPU
“GPU Rendering
Introduction
GPU rendering makes it possible to use your graphics card for rendering, instead of the CPU. This can speed up rendering, because modern GPUs are designed to do quite a lot of number crunching. On the other hand, they also have some limitations in rendering complex scenes, due to more limited memory, and issues with interactivity when using the same graphics card for display and rendering.
Cycles has two GPU rendering modes: CUDA, which is the preferred method for NVIDIA graphics cards; and OpenCL, which supports rendering on AMD graphics cards.”(1)
(1) Blender 2.77 refrence manual under “GPU Rendering”.
https://www.blender.org/manual/render/cycles/gpu_rendering.html
Yeah, there is an OpenCL
Yeah, there is an OpenCL version of Cycles, but Blender still recommends (as far as I know) NVIDIA with CUDA for now. I mean, yeah, if you have an AMD card, fiddle with OpenCL; it's there and supported. I believe it's still a bit limited, though.
In full agreement. Simply
In full agreement. Simply OpenCL does not support all the features of Cycles. Cuda and CPU do.
Now that AMD is sponsoring one developer to address this over one year, especially since AMD is proactively using it during their keynotes. That is a really really good for the future of Cycles on OpenCL.
can’t wait for proper OpenCL where you can use the CPU core and GPU core in one render.
Scott when available under
Scott when available under Blender, Please test out the AMD now open sourced Radeon Rays (formerly FireRays) library software on any Polaris GPUs. And also the ProRender plug-in under Blender is going to be great. See if AMD can get you some RX 480, and RX 470 review samples for Blender/Redeon rays/ProRender testing.
AMD should be helping with more AMD kernel driver work/etc. for its GPUs and OpenCL, and there is also that AMD Boltzmann Initiative middleware/software/tools to convert CUDA to OpenGL to assist in getting more CUDA only code ported over to OpenCL.
“I believe it’s still a bit limited, though”
Yes Blender’s Cycles on OpenCL for AMD’s GCN GPUs needs more work, but the payout for using OpenCL, and AMD’s Radeon Rays and ProRender also, is no single vendor lock-in under any OpenCL code and much more affordable AMD GPUs that have more FP/hardware resources for less dollars than Nvidia provides. Just look at the FP Flops on the RX 480 and see the price/performance advantage.
“IFA 2016: AMD Announces Radeon ProRender”
https://pcper.com/news/Graphics-Cards/IFA-2016-AMD-Announces-Radeon-ProRender
Oh definitely! For instance,
Oh definitely! For instance, if my animations take off, I'd love to have more choice in rendering hardware, especially given AMD's cost-performance ratio.
Cycles rendering for Blender
Cycles rendering for Blender OpenCL/AMD GCN around since 2.75.
“Blender 2.75: Cycles
Cycles improvements include: Long awaited (initial) support for rendering with AMD GPUs, a new Light Portals feature, a new built-in way for animated Seed, lot’s of performance and memory optimizations, …
Support for AMD GPUs
The OpenCL Cycles kernel has been split into smaller parts, improving performance and stability. (7f4479da425b)
Therefore, AMD GPUs can now be used to render with Cycles. Please check the GPU Rendering docs for more information about required hardware and supported features.
Currently only Windows and Linux are officially supported. On OSX there are still issues, which appear from the OpenCL compiler side and we can not work around yet from Blender.
For hardware which is not officially supported, it’s possible to test split kernel work by setting the `CYCLES_OPENCL_SPLIT_KERNEL_TEST` environment variable to 1. It’ll make all the OpenCL devices appear in User Preferences and will make sure split kernel is used on them. “(1)
(1) Blender developer release notes for Blender 2.75
https://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.75/Cycles