mmp / pbrt-v4

Source code to pbrt, the ray tracer described in the forthcoming 4th edition of the "Physically Based Rendering: From Theory to Implementation" book.
https://pbrt.org
Apache License 2.0
2.8k stars 429 forks source link

The result of pbrt_v4 gpu operation at Pavilon-night is noisy #357

Closed mu116699 closed 1 year ago

mu116699 commented 1 year ago

The result of gpu operation at night is noisy, using Pavilon-night in pbrt v3.pbrt upgraded version v4 of pbrt, Sampler "halton" "integer pixelsamples" [512] No matter I reduce it by 256, Or upgrade to 1024, 2048, can not eliminate the noise in the generated picture, pbrt v3 CPU generated night results without noise, in pbrt v4, whether the CPU, GPU on the night of the rendering results contain noise, whether can give an optimized program. I uploaded the test results below, thank you.

The pictures given below are:pbrt_V3_night_cpu12700_2 23hr、pbrt_V4_night_cpu12700_23 1min、pbrt_v4_night_rtx3070_11 2s_Sampler_256、pbrt_v4_night_rtx3070_23 2s_Sampler_512、pbrt_v4_night_rtx3070_46 5s_Sampler_1024、pbrt_v4_night_rtx3070_87 8s_Sampler_2048

pbrt_V3_night_cpu12700_2 23hr pbrt_V4_night_cpu12700_23 1min pbrt_v4_night_rtx3070_11 2s_Sampler_256 pbrt_v4_night_rtx3070_23 2s_Sampler_512 pbrt_v4_night_rtx3070_46 5s_Sampler_1024 pbrt_v4_night_rtx3070_87 8s_Sampler_2048

rainbow-app commented 1 year ago

You may try to debug it yourself a bit. For example:

Pbrt should output something useful in the logs, try --v 2 option. If it doesn't, try to insert some debug output yourself somewhere in the code.

Also:

mmp commented 1 year ago

pavilion-night.pbrt uses the BDPT integrator, which isn't supported on the GPU (it always uses the equivalent of "volpath".) This is a tricky scene for regular path tracing due to all of the glass windows; the light sources can't be sampled directly, so volpath has to get lucky to find lights seen through glass. While BDPT is fairly effective at that, since it traces paths from the lights...

Could you try specifying "volpath" as the integrator, rendering on the CPU, and see if you get similar results to the GPU?

Vutshi commented 1 year ago

Hi @mmp Is the reason behind the difference in rendering results between BDPT integrator v3 and v4 apparent?

Best

mmp commented 1 year ago

@Vutshi yes. See my comment on July 5: https://github.com/mmp/pbrt-v4/issues/357#issuecomment-1621424704