Wat is Ray Tracing?

Gebruikt in grafisch ontwerp, ray tracing is de handeling van het gebruik van het pad dat licht door pixels neemt om afbeeldingen te maken om de effecten te simuleren die lichtstralen hebben op de objecten die ze tegenkomen. Afbeeldingen gemaakt met ray tracing zijn meestal van betere kwaliteit en hebben een hogere mate van realisme, maar het duurt langer om te voltooien en vereist meer rekenkracht. Daarom wordt ray tracing meestal gebruikt voor het maken van stilstaande beelden.

Bijvoorbeeld kan ray tracing in film worden gebruikt omdat de beelden in de postproductie kunnen worden gemaakt en dus veel tijd hebben. Daarentegen vereisen videospellen een snellere beeldweergave; dus ray tracing is niet de beste optie.

Software genaamd een ray tracer simuleert de reis van individuele lichtstralen van een virtuele lichtbron naar een virtuele cameralens. De virtuele lichtstraal kan passeren door volumetrische atmosferen zoals mist of rook, en interactie hebben met materiële oppervlakken zoals metaal, glas of water, bijvoorbeeld. Elk van deze objecten is ontworpen en gemodelleerd door kunstenaars en ingenieurs om het uiterlijk van de scène te beïnvloeden zoals weergegeven door de raytracer. Geavanceerde ray tracers kunnen aanvullende berekeningen toepassen, zoals interreflectie, radiositeit en bijtende stoffen om complexe gedragingen van licht te simuleren.

Hoe lang duurt het?

Ray Tracing kan zeer realistische beelden genereren, maar is rekenkundig duur en daarom erg traag. Zo had elk stilstaand beeld van de computer-animatiefilm Monsters University, uitgegeven door Pixar in 2013, 29 uur nodig om te renderen. Met 24 frames per seconde heeft de film van 110 minuten ongeveer 160.000 frames. Pixar gebruikte een enorme renderfarm om de berekening te distribueren en deze binnen enkele maanden te voltooien. Op een enkele computer zou de film vier en een half miljoen uur - 524 jaar - hebben geduurd om de weergave te voltooien.

Niet alle renderers zijn ray tracers

Omdat het lang duurt om te berekenen, wordt ray tracing vaak gebruikt voor de uiteindelijke render. Intermediate- of preview-renderingen worden vaak uitgevoerd met "goedkopere" renderers, die snel een afbeelding van lagere kwaliteit produceren. Blender gebruikt bijvoorbeeld de Cycles Renderer om ray tracing uit te voeren, of de Blender Internal Renderer om snel niet-fotorealistische afbeeldingen te renderen.

Ray tracing op de GPU

Traditioneel wordt ray tracing uitgevoerd door de CPU, niet door de GPU. De hardware van een GPU is ontworpen om zoveel mogelijk FPS (frames per seconde) uit te voeren, om real-time grafische applicaties zoals videogames te verbeteren. Daarentegen is ray tracing meestal een traag proces, waarbij realtimesnelheid wordt opgeofferd voor fotorealistische kwaliteit. Daarom is ray tracing-software niet ontworpen om te draaien op GPU-hardware en GPU-hardware is niet ontworpen om ray tracing uit te voeren.

Echter, op 13 augustus 2018 kondigde NVidia zijn nieuwe Turing grafische verwerkingsarchitectuur aan, in staat om ray tracing in real time uit te voeren. De eerste GPU's die de Turing-architectuur, de Quadro RTX, zullen gebruiken, zijn gepland voor eind 2018.

Ray tracing-software

Hieronder volgen voorbeelden van ray tracing-software die kan worden gedownload of gekocht.

  • Autodesk 3ds max - Een gepatenteerde 3D-modellerings-, animatie- en weergavetoepassing, voornamelijk gericht op CAD-gebruikers, zoals architecten.
  • Autodesk Maya - vergelijkbaar met 3ds max, maar met een focus op karakteranimatie.
  • Blender - Een gratis open-source 3D-modellerings-, animatie- en weergaveapplicatie.
  • Bryce - Een fractal landschapsgenerator geïntroduceerd in 1994.
  • Cinema 4D - Een 3D-modellering-, animatie- en weergaveapplicatie met procedurele effecten voor filmmakers en grafische artiesten, geadverteerd als gemakkelijk te leren.
  • Houdini - Een volledig functionele 3D-animatietoepassing met gesimuleerde fysica, vloeistofdynamica en volumetrische simulaties. Een beperkte versie met de naam Houdini Apprentice is beschikbaar voor studenten en enthousiastelingen om gratis te gebruiken.
  • Lightwave - Een 3D CGI-toepassing die is gebruikt om bewegende beelden, speciale effecten en videogames te maken.
  • LuxCoreRender is een gratis, open-source renderer voor Windows, macOS en Linux.
  • POV-Ray (The Persistence of Vision Raytracer) is een gratis open-source renderer die afbeeldingen maakt van SDL (Scene Description Language), een Turing-complete taal met macro-ondersteuning.
  • RenderMan - Een renderer van filmkwaliteit ontwikkeld door Pixar, gebruikt in films zoals Incredibles 2 en Avengers: Infinity War .
  • Visionaray - Een open-source, cross-platform ray tracing bibliotheek.
  • YafaRay - Een gratis, open-source Monte Carlo-raytracer.

Aanvullende bronnen

3D-animatie, CAD, Radiositeit, Simulatie, Softwarevoorwaarden, TurboSquid