Accelerated rendering

Discussion related to the implementation of new features & algorithms to the Core Engine.

Moderators: Dade, jromang, tomb, zcott, coordinators

Accelerated rendering

Postby sharlybg » Wed Mar 22, 2017 3:58 am

Hi guys !

I've just saw this on internet today. And want to know if we have something siimillar planned or already available inside our magic box. It seem so Fast for indoor rendering ;)

http://cgg.mff.cuni.cz/~jirka/papers/2014/olpm/index.htm

https://corona-renderer.com/blog/research-corner-progressive-importance-sampling/
i7 6700k + 32 Gb DDR4 + 2X R9 390 sapphir nitro.
User avatar
sharlybg
 
Posts: 679
Joined: Tue Nov 02, 2010 10:22 am
Location: Ivory coast

Re: Accelerated rendering

Postby Dade » Wed Mar 22, 2017 4:15 am

I have implemented something vaguely similar many years ago in LuxRender classic with path tracing driven by a precomputed photan map. I don't remember if it is still there, it may be.

I doubt the online update of the importance sampling map is practical on GPUs but it shouldn't be particularly hard to have on CPUs. It sounds like something worth trying but I have no idea where to find the time.
User avatar
Dade
Developer
 
Posts: 8314
Joined: Sat Apr 19, 2008 6:04 pm
Location: Italy

Re: Accelerated rendering

Postby Dade » Wed Mar 22, 2017 4:22 am

A viable approach for GPUs could be do the pre-processing/training for importance sampling map/cache on the CPU and the rendering on GPU (with periodical update of the map/cache). An intriguing asymmetrical/heterogeneous computing solution.
User avatar
Dade
Developer
 
Posts: 8314
Joined: Sat Apr 19, 2008 6:04 pm
Location: Italy

Re: Accelerated rendering

Postby sharlybg » Wed Mar 22, 2017 4:43 am

Dade wrote:A viable approach for GPUs could be do the pre-processing/training for importance sampling map/cache on the CPU and the rendering on GPU (with periodical update of the map/cache). An intriguing asymmetrical/heterogeneous computing solution.


If only one Cpu can keep buzzy 2 or 4 GPUs i suppose. It is also good to Know there is always room to improve or update not only on the hardware side.
i7 6700k + 32 Gb DDR4 + 2X R9 390 sapphir nitro.
User avatar
sharlybg
 
Posts: 679
Joined: Tue Nov 02, 2010 10:22 am
Location: Ivory coast

Re: Accelerated rendering

Postby Dade » Wed Mar 22, 2017 7:28 am

sharlybg wrote:
Dade wrote:A viable approach for GPUs could be do the pre-processing/training for importance sampling map/cache on the CPU and the rendering on GPU (with periodical update of the map/cache). An intriguing asymmetrical/heterogeneous computing solution.


If only one Cpu can keep buzzy 2 or 4 GPUs i suppose. It is also good to Know there is always room to improve or update not only on the hardware side.


An importance sampling map is like an map with "hints" for where is better to sample. How often it is updated affects "only" how good is the sampling (i.e. to render samples with less noise). You can expect to have a quite good importance map in a short time.

You can think to the above method like a special kind of sampler (like Metropolis) that use the results of sampling to have better future samples.
User avatar
Dade
Developer
 
Posts: 8314
Joined: Sat Apr 19, 2008 6:04 pm
Location: Italy

Re: Accelerated rendering

Postby sharlybg » Thu Mar 23, 2017 3:31 am

An importance sampling map is like an map with "hints" for where is better to sample. How often it is updated affects "only" how good is the sampling (i.e. to render samples with less noise). You can expect to have a quite good importance map in a short time.

You can think to the above method like a special kind of sampler (like Metropolis) that use the results of sampling to have better future samples.



It's really interresting even for simple path tracer.This could rock insanely on for Vega GPUs. I believe it's simillar to this method on this video:

https://www.youtube.com/watch?v=sSnDTPjfBYU&list=PLujxSBD-JXgnqDD1n-V30pKtp6Q886x7e&index=19
i7 6700k + 32 Gb DDR4 + 2X R9 390 sapphir nitro.
User avatar
sharlybg
 
Posts: 679
Joined: Tue Nov 02, 2010 10:22 am
Location: Ivory coast

Re: Accelerated rendering

Postby sharlybg » Sat Mar 25, 2017 7:51 am

Dade wrote:I have implemented something vaguely similar many years ago in LuxRender classic with path tracing driven by a precomputed photan map. I don't remember if it is still there, it may be.

I doubt the online update of the importance sampling map is practical on GPUs but it shouldn't be particularly hard to have on CPUs. It sounds like something worth trying but I have no idea where to find the time.

A viable approach for GPUs could be do the pre-processing/training for importance sampling map/cache on the CPU and the rendering on GPU (with periodical update of the map/cache). An intriguing asymmetrical/heterogeneous computing solution.



I couldn't imagine how buzzy you can be (For a so talented high level Devs it is more than obvious). But I think that the performance level reached after this method is so high. All rendered image with this method show something like 5X or 8X times faster denoising. If we can get this boost now we get enough energy to wait even a years without heavy developpment for luxcore ( spectral rendering/ Bidirectional on Gpu / bidir VCM etc ....). If only this can lead to the expected boost I down my knees Please bless us with your magic hand (i'm super serious). If also there is somthing particular we can do to help you as user ...

AAAAhhh if only ....

Image
i7 6700k + 32 Gb DDR4 + 2X R9 390 sapphir nitro.
User avatar
sharlybg
 
Posts: 679
Joined: Tue Nov 02, 2010 10:22 am
Location: Ivory coast

Re: Accelerated rendering

Postby sharlybg » Sun Mar 26, 2017 1:29 am

What are the importons?

Importons are just photons emitted from the camera. We first trace importons, then use them to guide photons, then use photons to guide path tracing. Better, but still not enough. To really make this work with any scene we had, we had to iterate the process.

So importons -> photons -> importons -> photons -> …. -> photons -> path tracing.

We call this the ping-pong method. With each step, the guiding gets better, and more particles get to the important areas, which makes the next step even better. The process accelerates itself! And since the photon map is not used directly, it remains 100% unbiased.


An importance sampling map is like an map with "hints" for where is better to sample. How often it is updated affects "only" how good is the sampling (i.e. to render samples with less noise). You can expect to have a quite good importance map in a short time.

You can think to the above method like a special kind of sampler (like Metropolis) that use the results of sampling to have better future samples.


But do you think that this ping pong importance map update would be fast enough on a regular i7 / R7 to speed up rendering on big gpus ?
i7 6700k + 32 Gb DDR4 + 2X R9 390 sapphir nitro.
User avatar
sharlybg
 
Posts: 679
Joined: Tue Nov 02, 2010 10:22 am
Location: Ivory coast

Re: Accelerated rendering

Postby Dade » Sun Mar 26, 2017 9:48 am

sharlybg wrote:But do you think that this ping pong importance map update would be fast enough on a regular i7 / R7 to speed up rendering on big gpus ?


It should, may be. The problem with papers is that they always promise amazing results but they do not always deliver ... it is not uncommon to spend a lot of work on a topic and not get the promised results.

Now, the above stuff is the one used by Corona Render so it is very likely to work but, for instance, Corona is a CPU-only render so the GPU topic is still an uncharted territory.
User avatar
Dade
Developer
 
Posts: 8314
Joined: Sat Apr 19, 2008 6:04 pm
Location: Italy

Re: Accelerated rendering

Postby sharlybg » Wed Apr 19, 2017 7:17 am

Another source around the same method :

https://arxiv.org/pdf/1701.07403.pdf
i7 6700k + 32 Gb DDR4 + 2X R9 390 sapphir nitro.
User avatar
sharlybg
 
Posts: 679
Joined: Tue Nov 02, 2010 10:22 am
Location: Ivory coast


Return to Architecture & Design

Who is online

Users browsing this forum: No registered users and 1 guest

cron