True Hybrid Rendering all a Dream?
Everyone knows Hybrid Cars, but what about Hybrid Rendering on a PC?
First, lets start with the definition of Hybrid Rendering. Hybrid rendering describes a novel approach to rendering computer imagery. It's basically the idea to make use of all available processing power at hand, regardless of differences in hardware or software frameworks. We speak of true hybrid rendering, when we can create pixel identical results coming out of a CPU and GPU rendering.
The History of Rendering
Raytracing, or rendering in general, describes the process or method of computer generated imagery. For decades the only way to get an image out of a computer was by feeding program code into the Central Processing Unit (CPU), and then let it do its thing. After hours and hours of rendering, you eventually got lucky and the final image was a nice, crispy glass sphere sitting on a checkerboard floor.
Back then, it all started out by using a single CPU in a PC. Later on, a new separate "magic" piece of hardware was made available to the most privileged of PC users - it was a so called Coprocessor in the form and shape of a Floating Point Unit (FPU). For a short time in computer history, users had to actually pay for getting arithmetic operations done quickly. However, then came the French revolution and people got sick of the privilege of FPU czars and kings. Intel and AMD decided, at one point, to just go ahead and melt the two separate chips into one big massive power hungry monster. Which then became, what we know as the modern CPU of our time.
It seemed, for some time, everything was unicorns and rainbows in CPU land. This was, until someone decided it might be a better idea to revive the old concept of Coprocessors again. Yes, really! Crazy - isn't it?
Graphics cards have been around for some time, and it was clear it would make no sense at all to put extra burden on the CPU for handling display graphics functions. The extra workload for a CPU, to shift around some pixels, would take away precious processing power that could be exploited otherwise.
The Rise of the GPU
At some point in time, the Graphics Processing Unit (GPU) saw the light of day! Finally, highly specialized hardware was doing the job of handling pixels on the screen. Those specialized chips could draw pixels and refresh screens, in never before seen speeds. Obviously, in the beginning, everything was still in 2D. Large blocks of graphics memory could easily be shifted around at insane speeds without wasting any clock cycles of the CPU. Hardware color look-up tables brought us blinking and flowing gradient color cycling LSD trips in realtime. There was just no stopping, the GPU revolution had just begun. Over time, GPUs became as complex as CPUs, and still they very specialized in what they could do: Graphics - but now in 3D and at ludicrous speed! It was then, when it became feasible to actually offload 3D rendering tasks to the GPU. A job that was thought to be usually done by a mighty all purpose CPU, only.
Early GPU rendering solutions were first aimed at helping computer games draw triangles faster. Rasterizing or depth sorting of triangles was soon done with the help of dedicated hardware, and it allowed the creation of complex life like 3D games. The insatiable demand for better and more realism in games, eventually lead to the invention of dedicated raytracing hardware baked into an ever growing complexity of GPU hardware.
The Present
With NVIDIA putting out new innovations like clock work, we all are in the lucky position to pick and choose from a wealth of GPU solutions to solve all kinds of computational problems. Computing problems we equally face as users and developers of software.
Lets arch back, in the field of rendering or CGI, in general we have the following rendering solutions available to us:
GPU, only...
Render solutions that are purely based on GPU acceleration and the code is solely executed on the GPU. Today, the rendering software market has produced more than enough GPU only renderers. All those rendering solutions are based on similar methods and algorithms widely publicized and discussed. Practically, they work all in the same way with just minor variations between them. Some solutions are leaning more into realtime image generation others favor photo real image generation. The great promise of GPU rendering is: Scalability and ever increasing rendering speed for the future!
CPU, only...
Unsexy and old guard, that's the legion of CPU renderers out there. They are thought to be slow and unattractive. However, CPU rendering has one key advantage: Unlimited Flexibility! CPU renderers are battle tested and robust, they can churn out thousands of frames every day of the year. It's literally the workhorse to bring Hollywood dreams to the sliver screen. Solid as a rock, CPU rendering still holds it's ground in today's 3D image generation.
The Disruptor: trueHybrid? - a new Star is Born!
With the introduction of finalRender, a new disruptive breed of renderer has been born! Like no other renderer, finalRender is the first and only trueHybrid rendering solution on the market. Instead of relying on CPU only rendering or by just using exclusive GPU rendering, finalRender brings together both of those technologies! Its unique approach, to let the user decide, to either use the CPU or GPU or even both at the same time, makes it an outstanding solution. This Hybrid Rendering approach is the only way in maximizing the return of any investment in rendering hardware or software. By leveraging the power of the CPU, in the same way as the GPU it no longer matters which piece of hardware needs to be upgraded. There will always be a speed increase benefit!
Ok cool, so why is not everyone on the Hybrid train then?
The simple answer is: It's not that simple! No one else has achieved true Hybrid Rendering yet, because it is hard - really hard to do! Creating pixel identical results coming out of 2 opposing hardware concepts, presents a lot of challenges on its own. Now, throw in incompatible software frameworks, and you get the perfect recipe for disaster. A GPU is not a CPU, and the other way around. All the scientific CPU rendering algorithm advancements, which have been achieved in the last couple of decades, have become virtually worthless for GPU programming. True, some of the CPU algorithms can be 'converted' to GPU equivalents, but this often results in a disastrous outcome.
With finalRender, cebas Visual Technology Inc. did not compromise - we wanted to deliver the first and only trueHybrid rendering solution. finalRender is 100% agnostic to any underlying processor technology, be it CPU or NVIDIA GPUs. You will always get the best of both worlds. Want to upgrade to a better and newer Graphics card? Go ahead do it! You get the expected speedup on-top of your existing CPU hardware. You need to upgrade your workstation? Go ahead do it! You get the expected speedup on-top of your existing GPU hardware!
With trueHybrid everything is guaranteed to work the same, be it CPU or GPU. Shaders, Materials, Denoising, Texture Baking or even Render Elements - they are all processed at maximum speed, and scale beautifully on any hardware available to you. We put in the hard work, so you can enjoy your return of investment much easier and better.
trueHybrid?, finalRender? are trademarks of cebas Visual Technology Inc.
Are you forgetting Cycles?
Developer specializing in 3D rendering and graphics creator applications
5 年Cycles, Radeon ProRender, V-Ray and others have CPU + GPU rendering.? Not the first at all.? ?Probably shouldn't make claims like this.??
CEO / CG Artist
5 年Umm... Would you mind elaborating on how does compare your trueHybrid engine to Thea Render - Presto engine which is available for years on market?