Thea Presto - The GPU Engine

Check out our technology advances and new features.
Locked
User avatar
giannis
Thea Developer
Thea Developer
Posts: 7986
Joined: Sun Jul 06, 2008 8:25 pm
Location: Athens, Greece
Has thanked: 11 times
Been thanked: 6 times

Tue Jun 04, 2013 12:31 pm

Dear friends,

you have all been waiting for this tech announcement since probably the end of last year. But the truth is that we couldn't go ahead and reveal details for our new GPU engine till now. :)

First of all, our new engine has already a name and it is called Presto. It runs within Thea Render framework, hence the full name Thea Presto.

I am going straight to the meat of our tech announcement and writing here the facts about the new engine.

1. Thea Presto has been written bottom-up, from scratch. This only should explain the long time it took to arrive at this day where the engine is mature. Writing an engine from scratch with the same characteristics and material system such as Thea itself, is far from being easy. But we did it!

2. Thea Presto is an engine running entirely on the GPU. And the development is based on Nvidia CUDA, which means that a compatible graphic card is needed to run it. All the CUDA supporting cards 1.x/2.x/3.x can be used but, unfortunately, the engine will not run on ATI/Intel graphic cards.

3. Thea Presto comes as a separate plugin for Thea Render. So, Thea Render continues to be the versatile platform-independent render we all know and if one installs Presto, he/she gets the extra engine as well. ;)


Presto and Features

Engine Characteristics
Presto comes with 2 variants; one for very fast preview with ambient occlusion and another photorealistic unbiased-like mode. They both are progressive render modes.

Interactiveness
One thing that is impressive about Presto is the interactiveness rate that one can achieve. It is the most fun engine to run the interactive render on, with a fantastic response (particularly the case if you have a separate graphic card for display).

Material / Lighting System
The same quality you get from Thea CPU engines, you will get them from Presto as well. Presto has been coded on the GPU with the same principles for materials/lights like on the CPU. No loss of quality.
Rolex_D_0199.png
Rolex watch with fine details sitting on a bumped surface.
Rolex_D_0199.png (1.3 MiB) Viewed 23809 times
Multiple GPUs and Network
Multiple GPUs are supported (only in darkroom rendering currently) along with all the GPUs you can setup in your network. With the new network render mode which allows to render frames separately on each node, one can render complete product and exterior animations in a few hours (something not possible before).

Product Design
We have found that the GPU engine is particularly useful for product design and external scenery with dominant direct lighting. This is where it particularly shines.
https://www.youtube.com/watch?v=KsOuIxh4CwA[/youtube]


The Next Steps

Adding Missing Features
One cannot expect that the whole list of features of Thea Render can be coded inside the GPU engine within the previous time framework, much more when there was a generic development effort in many directions at the same time (Adaptive BSD reboot, Plugins & SDK, UI adjustments). Also, one cannot expect that the complexity of the TR1/TR2 unbiased engines can be coded inside a GPU engine, not even on the most recent graphic card generations. There are certain features that we decided that we can't live without and need to be there right from the beginning and others we will be adding with time; features such as SSS, instancing, procedurals and texture layering are currently missing. A detailed list of supported features will be available with the new release.

CUDA vs OpenCL
In the beginning there was only one path for us, the standard path, that is OpenCL. But we have found out (the hard way) that OpenCL is not really "tuned" for complex staff. There is a varying performance and quite a lot of fighting with getting the code to actually run. Nevertheless, this is the path we would like to follow and this is why, the language used during programming has been made with OpenCL in mind and to exactly help the transition to the standard when it is more mature. We will be visiting this topic frequently to see how we can make Presto running on ATI/Intel graphic cards.



And for the last part, the Rolex watch animation. Patrick could add quite a few images and animations in my post here, but for the time being we wanted only a minimal announcement. The new release is coming next week, so you can all judge for yourselves. 8-)

Best wishes

https://www.youtube.com/watch?v=MOQFlTAYU9o[/youtube]
Science may limit knowledge but should never limit imagination - Bertrand Russell
User avatar
DBK
Licensed User v1.5
Licensed User v1.5
Posts: 157
Joined: Sun Mar 21, 2010 9:49 am
Location: Denmark
Has thanked: 0
Been thanked: 0

Tue Jun 04, 2013 12:41 pm

:D. Really good news!
Congratulation :thumbup:
The world is real, theory is only a tool trying to explain it!
User avatar
Panga
Licensed User v1.5
Licensed User v1.5
Posts: 542
Joined: Mon Jul 27, 2009 3:32 pm
Location: Lyon - France
Has thanked: 0
Been thanked: 0
Contact:

Tue Jun 04, 2013 12:48 pm

Sun is finally back in France after some much rain...and with it this nice, but expected, surprise !! Thanks to the Thea Team for those news !!!
User avatar
Hieru
Thea Beta Tester
Thea Beta Tester
Posts: 1982
Joined: Fri Jun 26, 2009 11:47 am
Location: UK
Has thanked: 92 times
Been thanked: 28 times
Contact:

Tue Jun 04, 2013 12:50 pm

Fantastic news. You've obviously put a lot of effort into developing Presto and I can't wait to see what other Thea users can accomplish with decent hardware.

Thinking ahead to when I next upgrade/replace my PC, could you expand on what you mean by the following?
It is the most fun engine to run the interactive render on, with a fantastic response (particularly the case if you have a separate graphic card for display).
Are you talking about a setup with two GPUs?
User avatar
massimo
Licensed User v1.5
Licensed User v1.5
Posts: 1392
Joined: Wed May 13, 2009 7:24 pm
Location: Italy
Has thanked: 0
Been thanked: 3 times

Tue Jun 04, 2013 12:58 pm

As usual, well done guys. :thumbup:
User avatar
leminilab
Licensed User v1.5
Licensed User v1.5
Posts: 806
Joined: Sat Nov 14, 2009 6:41 pm
Location: Vitry-sur-Seine
Has thanked: 19 times
Been thanked: 11 times
Contact:

Tue Jun 04, 2013 1:00 pm

:clap:

You just made a lot of people happy!

Congratulations to all of you for this great effort!

Can't wait to try this!

I wish you the best with this new landmark version!

:thumbup: :wave:
Nicolas
Live every day as if it were your last and then some day you'll be right.
User avatar
giannis
Thea Developer
Thea Developer
Posts: 7986
Joined: Sun Jul 06, 2008 8:25 pm
Location: Athens, Greece
Has thanked: 11 times
Been thanked: 6 times

Tue Jun 04, 2013 1:09 pm

Hieru wrote: Are you talking about a setup with two GPUs?
Basically yes. Currently, only one GPU is used during interactive render. But this can be any graphic card and not your primary that is used for display. This keeps the user interface fluent, since, rendering on the display GPU makes the interface not-so-reactive. Handling more than one GPUs inside the interactive render is something that we will add afterwards; there is not a limitation here but just a we-needed-more-time-to-handle-this-feature case (multiple GPUs are being supported in a normal darkroom render).

Best wishes
Science may limit knowledge but should never limit imagination - Bertrand Russell
User avatar
jc4d
Licensed User v1.5
Licensed User v1.5
Posts: 1211
Joined: Tue May 12, 2009 3:13 pm
Location: Tornio, Finland
Has thanked: 23 times
Been thanked: 2 times

Tue Jun 04, 2013 1:18 pm

Awesome news :clap:

One small question: when you say as a plugin means purchasable plugin or is free for current customers?
User avatar
giannis
Thea Developer
Thea Developer
Posts: 7986
Joined: Sun Jul 06, 2008 8:25 pm
Location: Athens, Greece
Has thanked: 11 times
Been thanked: 6 times

Tue Jun 04, 2013 1:31 pm

jc4d wrote: One small question: when you say as a plugin means purchasable plugin or is free for current customers?
Good question!

The GPU engine comes as a plugin to avoid coupling the whole Thea Render to a graphic manufacturer vendor. This way, Thea Render is for all and Thea Presto is a plugin that should be downloaded & installed only by the users with Nvidia CUDA device(s).

Thea Presto will be a free add-on plugin for existing and new customers of Thea Render. ;)

Best wishes
Science may limit knowledge but should never limit imagination - Bertrand Russell
User avatar
yglemarec
Licensed User v1.5
Licensed User v1.5
Posts: 292
Joined: Thu Sep 15, 2011 3:59 pm
Location: paris (france)
Has thanked: 0
Been thanked: 0

Tue Jun 04, 2013 1:36 pm

what an incredible good news !!!
:thumbup: :thumbup: :thumbup:
congratulation and much more !!!

yoh!
"no pen , no gain ! "
Locked