Comparison of pseudorandom number generators for use with Monte Carlo-based rendering
Abstract
Path tracing is one of unbiased rendering methods. Said method relies on integral rendering equation to simulate wide variety of optical phenomena. In path tracing, integral part of rendering equation is calculated using Monte Carlo method, which makes the method very resource-intensive. Taking in account that the rendering method is perfectly parallel, it is appropriate to take advantage of GPGPU methods to leverage GPU processing power for the calculations. However, Monte Carlo method requires random numbers to operate, and truly random numbers are difficult to obtain in bulk, especially on GPU. This leads to the crux of the problem: which pseudorandom number generator algorithm would be preferable to use on GPU with Monte Carlo method?
This paper focuses on comparison between several PRNGs (pseudorandom number generators) being used with Monte Carlo method to solve integral rendering equation on GPU. The comparison is used to show advantages and disadvantages to using these PRNGs with Monte Carlo-based rendering methods, and draws some conclusions regarding picking correct tool for the job.
Full Text:
PDF (Russian)References
Kajiya J. T. The rendering equation// Proceedings of the 13th annual conference on Computer graphics and interactive techniques, ACM. 1986. URL: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.63.1402&rep=rep1&type=pdf (Data obrashhenija: 28.07.2018).
Philip Dutré. Global Illumination Compendium// Computer Graphics, Department of Computer Science, Katholieke Universiteit Leuven, September 29, 2003. URL: https://people.cs.kuleuven.be/~philip.dutre/GI/TotalCompendium.pdf (Data obrashhenija: 28.07.2018).
Sesin, I.Ju. Vybor generatora psevdosluchajnyh chisel dlja ispol'zovanija v renderige metodom trassirovki puti [Tekst] / Sesin I.Ju., Nechaev V.V. — INJOIT, v. 5, # 8 (2017)
Peter Alfke, Application Note // XAPP 052 July 7,1996 (Version 1.1) URL: http://www.xilinx.com/support/documentation/application_notes/xapp052.pdf (Data obrashhenija: 28.07.2018).
David Blackman, Sebastiano Vigna, Xoroshiro128plus C implementation. URL: http://vigna.di.unimi.it/xorshift/xoroshiro128plus.c (Data obrashhenija: 28.07.2018).
Chris Lomont, Random Number generation, 2008. URL: http://lomont.org/Math/Papers/2008/Lomont_PRNG_2008.pdf
Stephan Mueller, Deterministic Random Bits Generator implementation. URL: https://github.com/torvalds/linux/blob/master/crypto/drbg.c (Data obrashhenija: 28.07.2018).
Mozilla Foundation, Deterministic Random Bits Generator implementation. URL: https://dxr.mozilla.org/nss/source/nss/lib/freebl v pervuju ochered', /drbg.c (Data obrashhenija: 28.07.2018).
Timeout detection in the Windows Display Driver Model URL: https://docs.microsoft.com/en-us/windows-hardware/drivers/display/timeout-detection-and-recovery (Data obrashhenija: 28.07.2018).
Numerical Recipes in C. The Art of Scientific Computing, 2nd Edition, 1992, ISBN 0-521-43108-5.
Refbacks
- There are currently no refbacks.
Abava Кибербезопасность IT Congress 2024
ISSN: 2307-8162