Monte-Carlo-Raytracer mit Radeon Rays und OpenCL 1.2
Merkmale
- Regulärer Pfad-Tracer
- Bidirektionaler Pfad-Tracer
- Lichtquellen
- Richtungslicht
- Punktlicht
- Flächenlichter
- GUI mit bearbeitbarer Szene
- Uber-Material
- Glänzende Reflexion und Transmission: Torrance-Sparrow Microfacet BRDF und BTDF mit einer Trowbridge-Reitz-Verteilung für Dielektrika
- Spiegelübertragung
- Spiegelreflexion
- Lambertsche Reflexion
- Normale Zuordnung
- Derzeit wird ein zufälliger Sampler verwendet, dieser kann jedoch über #define in asset/kernels/samplers.cl in Sobol geändert werden
Bauen
- git clone --recursive https://github.com/compix/Monte-Carlo-Raytracer.git
- CMake – Derzeit wird nur Windows unterstützt. Zur Unterstützung von Linux müssen geringfügige Änderungen vorgenommen werden.
- Getestet unter Windows 10, kompiliert mit Visual Studio 2017 (mit integrierter CMake-Unterstützung)
Relevante Quellen
- Pharr, Matt, Wenzel Jakob und Greg Humphreys: Physikalisch basierte Darstellung: Von der Theorie zur Umsetzung. Morgan Kaufmann, 2016.
- Veach, Eric: Robuste Monte-Carlo-Methoden zur Leichttransportsimulation. Nummer 1610. Doktorarbeit der Stanford University, 1997.
- Torrance, Kenneth E und Ephraim M Sparrow: Theorie für außerspiegelnde Reflexion von aufgerauten Oberflächen. Josa, 57(9):1105-1114, 1967.
- Trowbridge, TS und Karl P Reitz: Durchschnittliche Unregelmäßigkeitsdarstellung einer rauen Oberfläche für die Strahlenreflexion.
- Munshi, Aaftab: Die OpenCL-Spezifikation Version: 1.2 Dokumentrevision: 19, 2012. https://www.khronos.org/registry/OpenCL/specs/opencl-1.2.pdf
- Radeon Rays: https://www.amd.com/de/technologies/radeon-rays
- Sobol', Il'ya Meerovich: Zur Verteilung der Punkte in einem Würfel und zur näherungsweisen Auswertung von Integralen.
- Morgan McGuire, Computer Graphics Archive, Juli 2017 (https://casual-effects.com/data)