Optix/RTX support

Discussion related to the LuxCore functionality, implementations and API.
User avatar
Dade
Developer
Developer
Posts: 5672
Joined: Mon Dec 04, 2017 8:36 pm
Location: Italy

Optix/RTX support

Post by Dade »

Introduction

I have added the very first Optix (and RTX hardware trough Optix) support. This work is ongoing on optix_intersection branch and will be merged with main branch after the v2.4 release.
Note: The following test shave been done on a NVIDIA RTX 2070 Super.

Simple scenes

As expected, it provide very little or no benefits for very simple scenes:

cornell.jpg

PATHOCL with CUDA => samples/sec 7.29M
PATHOCL with CUDA+Optix => samples/sec 7.35M

Optix speedup: 2%

Medium scenes

On a 4 millions (3932.2K) triangles scene but with a very simple shapes (i.e. basically a cube and a sphere):

fabric.jpg

PATHOCL with CUDA => samples/sec 4.60M
PATHOCL with CUDA+Optix => samples/sec 5.42M

Optix speedup: 18%

Complex scenes

On a 10 millions (9456.6K) triangles scene with a quite intricate geometry were LuxCore BVH has never worked very well:

hair.jpg

PATHOCL with CUDA => samples/sec 0.91M
PATHOCL with CUDA+Optix => samples/sec 5.50M

Optix speedup: 604%

Conclusion

Optix/RTX speed up will be highly related to the type of scene rendered. Do not expect any particular speed up on (geometry) simple scenes. On real world complex scenes, the benefit will start to be noticeable. There will be corner cases where the speedup will be insane ... still laughing about the 604% speedup :lol:

Short version: it works as expected.
Support LuxCoreRender project with salts and bounties
User avatar
Dade
Developer
Developer
Posts: 5672
Joined: Mon Dec 04, 2017 8:36 pm
Location: Italy

Re: Optix/RTX support

Post by Dade »

Some additional notes:

- I'm working on instances support and other stuff. Once it is done, it will possible to run some test with real world scenes.

- I'm considering the idea of writing a PATHOPTIX render engine, using the complete Optix frame work, not just ray intersection related functions. It is a not a trivial amount of work that may not deliver any benefit at all (or may be a lot faster, it is unknown) so I'm a bit cautions on this point.

- I will add the support for Optix denoiser to the image pipeline. It is trivial to do in the context of this work.
Support LuxCoreRender project with salts and bounties
User avatar
lacilaci
Donor
Donor
Posts: 1969
Joined: Fri May 04, 2018 5:16 am

Re: Optix/RTX support

Post by lacilaci »

Some incredible news
- I'm considering the idea of writing a PATHOPTIX render engine, using the complete Optix frame work, not just ray intersection related functions. It is a not a trivial amount of work that may not deliver any benefit at all (or may be a lot faster, it is unknown) so I'm a bit cautions on this point.

- I will add the support for Optix denoiser to the image pipeline. It is trivial to do in the context of this work.
This all sounds very exciting!
User avatar
Sharlybg
Donor
Donor
Posts: 3101
Joined: Mon Dec 04, 2017 10:11 pm
Location: Ivory Coast

Re: Optix/RTX support

Post by Sharlybg »

That is awesome and welcome improvement ;)
Optix/RTX speed up will be highly related to the type of scene rendered. Do not expect any particular speed up on (geometry) simple scenes. On real world complex scenes, the benefit will start to be noticeable. There will be corner cases where the speedup will be insane ... still laughing about the 604% speedup :lol:
That is a good news indeed as modern CGI artwork require far more than a simple Cube. In fact i've seen in my work that GPU performance tend to fall drastically with scene compexity making them unwanted for big production scenes files this will be solved by Optix/RTX. If we Add the fact that we already have OOC it is a Huge jump.
- I will add the support for Optix denoiser to the image pipeline. It is trivial to do in the context of this work.
that one will be very appreciaed :D
- I'm considering the idea of writing a PATHOPTIX render engine, using the complete Optix frame work, not just ray intersection related functions. It is a not a trivial amount of work that may not deliver any benefit at all (or may be a lot faster, it is unknown) so I'm a bit cautions on this point.
I would wait and see How new hardware and tech from both AMD and NVIDIA unfold with the release of RDNA 2 and AMPERE before doing such a drastic work.
there are rumors about some crazy hardware stuff (the guy speculate about a kind of dedicated PU for raytracing aka traversal Coprocessor) : https://youtu.be/i537qwchiAw
Support LuxCoreRender project with salts and bounties

Portfolio : https://www.behance.net/DRAVIA
User avatar
TAO
Developer
Developer
Posts: 850
Joined: Sun Mar 24, 2019 4:49 pm
Location: France
Contact:

Re: Optix/RTX support

Post by TAO »

So exciting news. I can't wait to test it in real projects and see who much it can speed up in a more complex scene with more details.
Nice improvements.
juangea
Donor
Donor
Posts: 332
Joined: Thu Jan 02, 2020 6:23 pm

Re: Optix/RTX support

Post by juangea »

Amazing, this will be quite an acceleration for production scenes for sure.

Also, will it be possible to use the optix denoiser in viewport in the same way we do now with Cycles? (real time during the render I mean)
User avatar
Dade
Developer
Developer
Posts: 5672
Joined: Mon Dec 04, 2017 8:36 pm
Location: Italy

Re: Optix/RTX support

Post by Dade »

juangea wrote: Sun Jun 21, 2020 9:29 pm Also, will it be possible to use the optix denoiser in viewport in the same way we do now with Cycles? (real time during the render I mean)
Yes, it will be just another image pipeline plugin like OIDN one.
Support LuxCoreRender project with salts and bounties
juangea
Donor
Donor
Posts: 332
Joined: Thu Jan 02, 2020 6:23 pm

Re: Optix/RTX support

Post by juangea »

Great, thanks!
User avatar
Dade
Developer
Developer
Posts: 5672
Joined: Mon Dec 04, 2017 8:36 pm
Location: Italy

Re: Optix/RTX support

Post by Dade »

First rendering with instances support. This is a rendering of old LuxMark Hotel scene without Optix:

bvh.jpg

and this with Optix:

optix.jpg

PATHOCL with CUDA => samples/sec 3.24M
PATHOCL with CUDA+Optix => samples/sec 3.83M

Optix speedup: 18%
Support LuxCoreRender project with salts and bounties
User avatar
Sharlybg
Donor
Donor
Posts: 3101
Joined: Mon Dec 04, 2017 10:11 pm
Location: Ivory Coast

Re: Optix/RTX support

Post by Sharlybg »

Optix speedup: 18%
this the gap between some GPU model. It also mean a 60 min aka 1 hour render will finish 10mn earlier. It is also sometime the lastest bit that make someone switch from a renderer A to renderer B.
Every bit of performance is welcome. ;)
Support LuxCoreRender project with salts and bounties

Portfolio : https://www.behance.net/DRAVIA
Post Reply