shocker-0x15 / VLR

GPU Monte Carlo Ray Tracing Renderer using NVIDIA OptiX 7

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Can it achieve real time when rendering with GGX?

Zhou-Heng opened this issue · comments

Can it achieve real time when rendering with GGX? Thanks.

To be honest, it is difficult for the current generation GPU as of 2018 if you desire a clean image.

1024x1024, UE4, GTX 980
The above image was rendered using GTX 980 and the material is UE4 BRDF (it includes GGX).
1[spp] took over 150[ms].
I have tried a Tesla V100 before, it was approximately three times faster than GTX 980.
This means even with Tesla V100, it will take 50[ms] for 1[spp].
However, recently NVIDIA released RTX series GPUs, it might be possible to achieve realtime performance for 1[spp] with these GPUs. In this case I need to wait NVIDIA to release the new version of OptiX that supports Turing architecture and RT cores (and need to modify code).

Therefore, it might be possible to achieve realtime for 1[spp] in the near future (with moderately sized image).

Unfortunately we can get only very noisy image with 1[spp].
Altough we can use OptiX AI denoiser and perhaps it will helps, I guess we need more spp for practically clean image.

Is this because the formula of GGX is too complicated? If we do not take GGX into consideration, i.e., use OptiX to render a scene in which there are only a few ideal specular and ideal diffuse objects, can we achieve real time?

I measured performance of lambert material instead of UE4.
1024x1024, Lambert, GTX 980
As you can see from the image, duration for 1[spp] is almost the same (~= 150[ms]) as UE4 material.
This means that material evaluation is not a bottleneck for this case.
Dominant factor is intersection (including Next Event Estimation).

Duration is almost the same but slightly longer with Lambert which itself is simpler to evaluate than UE4.
This is maybe due to changing scattered direction and total amount of ray tracing gets larger (Because it calculates global illumination).

Thank you so much for the helpful information. I will try measuring on my side if the scene contains only a few simple meshes like spheres and cubes. I think this Issue can be closed. Thank you again and have a nice day.

Today's GPUs' performance are generally bound by memory access and VALU is relatively free.
Therefore GGX calculation is not a big problem. (Of cource there are other things should be considered, like divergence, ...)

Thank you for your interest in my renderer.
I will close this issue.