cschied / q2vkpt

Real-time path tracer VKPT integrated into q2pro Quake 2 client.
http://brechpunkt.de/q2vkpt
GNU General Public License v2.0
948 stars 76 forks source link

General questions #15

Open codec-abc opened 5 years ago

codec-abc commented 5 years ago

Hi,

Cool project, thanks for sharing it. Since I can't test it now (I don't have a RTX card yet), I have a few questions about the result/ inner working:

On the project page there is a comparison between the output of the path tracer and the final de-noised image.

The de-noising is so good (congrats on that!) that it is able to recreate details on texture that reasonably can't be guessed by in the output of the path tracer (for example, the nuclear symbols on the barrels). After reading the FAQ, it seems the de-noiser is really that good because it is reusing results from previous frame:

At the core is an adaptive temporal filter that intelligently re-uses the results of previous frames (a former research project of Christoph's)

So, my understanding is that by "merging" successive path traced images the de-noiser is able to re-create details (such as the nuclear symbol) as opposed to a single frame that doesn't give enough information to recreate such details. Is my understanding correct?

So I wonder (since I can't test it now), what happens when the player spawn, teleport, rotate very fast or a lot of fast moving/rotating objects are shown? Since the last frame will be non-existent (when spawning for the first time) or irrelevant (teleporting, etc...) will the outputted image be noisy?

Also I can't understand the following passage:

How many rays does Q2VKPT cast per pixel? The number of rays that are cast are dependent on the first visible surface. For opaque surfaces Q2VKPT uses one ray each to find the direct and indirectly visible surface. Additionally, for both surfaces Q2VKPT casts one ray each towards randomly chosen light sources. Therefore Q2VKPT will cast at least 4 rays for each pixel.

I don't understand what you mean by opaque, visible and indirectly visible surfaces. So can you please, try to phrase it another way or maybe drawing a simple diagram?

Regards.

hanatos commented 5 years ago

i will refer you to christoph's papers:

http://cg.ivd.kit.edu/svgf.php

http://cg.ivd.kit.edu/atf.php

(in short, yes if you have fast movement or disocclusions the result will be noisy until you gather enough valid data again)

codec-abc commented 5 years ago

Thanks!