Differentiable Voronoi Ray Tracing Beyond Rasterization Speeds
Het artikel introduceert VoroTracing, een differentiële Voronoi-raytracingmethode die real-time synthese van nieuwe gezichtspunten bereikt met een superieure doorvoersnelheid vergeleken met bestaande ray-gebaseerde en rasterisatietechnieken door de scène-representatie, optimalisatie en GPU-executie gezamenlijk te ontwerpen om traditionele snelheidsbeperkingen te overwinnen terwijl complexe camera-effecten inherent worden ondersteund.
Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer
In de wereld van computergraphics bestaat er al lang een fundamentele afweging tussen snelheid en flexibiliteit. Decennialang was de snelste manier om realistische beelden op een scherm te creëren een techniek genaamd rasterisatie. Stel je een schilder voor die naar een 3D-scène kijkt en deze simpelweg op een plat canvas projecteert, waarbij hij de pixels één voor één invult. Deze methode is ongelooflijk snel en vormt de basis voor de videogames en films die we dagelijks zien, maar het heeft moeite met complexe optische effecten zoals de onscherpte van een cameralens of de vervorming van een groothoekweergave. Om die effecten te krijgen, moet de software speciale, ingewikkelde regels aan het schilderproces toevoegen, wat het proces vaak vertraagt of fouten introduceert. Het alternatief is ray tracing, een methode die nabootst hoe licht daadwerkelijk reist. In plaats van een plat beeld te projecteren, schiet de computer onzichtbare lichtstralen vanuit de camera de scène in om te zien wat ze raken. Deze aanpak handelt alle lastige optische effecten van nature af zonder extra regels, maar het was historisch gezien te traag voor real-time gebruik, omdat er enorme rekenkracht nodig was om slechts enkele frames per seconde te berekenen.
Een team van onderzoekers uit Zweden heeft nu de opvatting uitgedaagd dat men moet kiezen tussen de snelheid van de schilder en de flexibiliteit van de lichtstraalschutter. Ze hebben een nieuw systeem ontwikkeld genaamd VoroTracing, dat de lichtstraalaanpak gebruikt, maar snel genoeg is om in real-time te worden gebruikt. Hun werk richt zich op een specifieke manier om de 3D-ruimte te organiseren, door deze te verdelen in een lappendeken van onregelmatige bellen, vergelijkbaar met de cellen in een honingraat, maar met vormen die passen bij de objecten in de scène. Door op een slimme, georganiseerde manier door deze bellen te navigeren, kan hun systeem lichtstralen door een complexe omgeving volgen met een snelheid die wedijvert met, en in sommige gevallen zelfs beter is dan, de snelste traditionele methoden.
De onderzoekers begonnen met de vraag waarom ray tracing zo traag was gebleven. Ze ontdekten dat de belangrijkste flessenhals niet alleen de wiskunde was om te bepalen waar een lichtstraal een object raakt, maar de enorme hoeveelheid gegevens die de computer voor elke stap van de reis moest laden en verwerken. Bij eerdere pogingen om dit te versnellen, raakte de computer vaak vastgelopen door te veel informatie te laden voor elke kleine stap, of dwaalde hij te lang door de lege ruimte voordat hij een solide object vond. Het team realiseerde zich dat ze dit werkend wilden krijgen, moesten ze de hele reis van de lichtstraal herontwerpen, van de manier waarop de scène wordt opgebouwd tot de manier waarop de computerchip de gegevens verwerkt.
Ze begonnen met het veranderen van de manier waarop de scène wordt gerepresenteerd. In plaats van voor elke bel een enkele, egale kleur te gebruiken die alleen verandert op basis van de hoek waaronder je ernaar kijkt, gaven ze elke bel een kleine, gedetailleerde textuurkaart. Hierdoor kon een enkele bel complexe patronen en details bevatten, wat betekende dat de computer geen miljoenen kleine bellen nodig had om bijvoorbeeld een bakstenen muur of een bladerrijke boom weer te geven. Ze veranderden ook de manier waarop de computer beslist wanneer hij moet stoppen met kijken. Door het systeem te trainen om de lege ruimte tussen objecten volledig onzichtbaar te maken en de oppervlakken van objecten volledig solide, konden de lichtstralen door de lucht reizen zonder te vertragen en stopten ze op het moment dat ze een oppervlak raakten. Dit voorkwam dat de computer tijd verspilde aan het berekenen van de kleur van de lege ruimte.
Om het proces nog sneller te maken, hebben de onderzoekers de manier waarop het geheugen van de computer deze bellen opslaat, geherorganiseerd. Ze hebben de gegevens zo gerangschikt dat bellen die zich in de 3D-wereld dicht bij elkaar bevinden, ook dicht bij elkaar in het geheugen van de computer zijn opgeslagen. Hierdoor kan de grafische kaart alle benodigde informatie voor een groep lichtstralen in één efficiënte beweging ophalen, in plaats telkens door de geheugenbank te springen. Ze voegden ook een slimme filter toe die de computer vertelt om elke bel te negeren die zo zwak is dat deze de uiteindelijke afbeelding niet zal veranderen, waardoor de berekening volledig wordt overgeslagen.
De resultaten van deze herontwerp waren opmerkelijk. Wanneer het nieuwe systeem werd getest op een standaard set complexe 3D-scènes, genereerde het beelden met een snelheid van 623 frames per seconde op een hoogwaardige grafische kaart. Dit is meer dan drie keer sneller dan de vorige beste methode die lichtstralen gebruikte, en het is ook aanzienlijk sneller dan de snelste traditionele schildergebaseerde methoden die momenteel in het veld worden gebruikt. De geproduceerde beelden waren net zo scherp en realistisch als de tragere methoden, zonder kwaliteitsverlies. Misschien wel het belangrijkste is dat, omdat het systeem lichtstralen gebruikt, het direct kan overschakelen naar het renderen van beelden met verschillende camera-effecten. Zonder wijzigingen aan de kernsoftware konden de onderzoekers beelden genereren met de vervorming van een fisheye-lens, de onscherpte van een bewegende camera of de geringe scherptediepte van een portretlens, simpelweg door het pad van de lichtstralen te veranderen.
Dit werk demonstreert dat de oude overtuiging — dat ray tracing te traag is voor real-time toepassingen — niet langer waar hoeft te zijn als het systeem vanaf het begin met het oog op de hardware is ontworpen. Door zorgvuldig de manier waarop de scène wordt opgeslagen, de manier waarop de lichtstralen reizen en de manier waarop de computer de gegevens verwerkt, samen te ontwerpen, hebben de onderzoekers aangetoond dat het mogelijk is om zowel de snelheid van moderne videogames als de natuurlijke flexibiliteit van echt licht te hebben. Ze hebben hun code vrijgegeven voor anderen om te gebruiken, wat de deur opent voor toekomstige toepassingen in virtuele realiteit, autonoom rijden en mobiele apparaten, waar ze het systeem al soepel hebben laten draaien op een smartphone. De studie suggereert dat de toekomst van realistische computergraphics niet ligt in de keuze tussen snelheid en realisme, maar in het vinden van een nieuwe manier om ze samen te laten werken.
Verdrinkt u in papers in uw vakgebied?
Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.