Categories: Sonstiges

Einsteigerguide: Stufen des Raytracing.

Da das Raytracing für eine Vielzahl von Grafikanwendungen immer wichtiger wird, hat Imagination Technologies ein Raytracing Level System entwickelt, um Entwicklern einen Einblick in die Leistungsfähigkeit der jetzt und in Zukunft verfügbaren Lösungen zur Beschleunigung des Raytracing zu geben.

Das System identifiziert zunehmend fortgeschrittene Stufen der Raytracing-Beschleunigung über eine Reihe von Architekturen, nicht nur das PowerVR Raytracing von Imagination, wobei jede Stufe eine höhere Leistung und eine bessere Hardware-Auslastung bietet. Dies führt zu einer größeren realen Raytracing-Leistung mit besserer Effizienz für komplexere Effekte und höhere Auflösungen. Unternehmen, die Raytracing-Lösungen einsetzen oder weiterentwickeln möchten, können die richtige Technologie für ihre Anforderungen finden.

Das Raytracing-Ebenensystem besteht aus sechs Ebenen mit den nachfolgend beschriebenen Fähigkeiten und Anforderungen:

  • Stufe 0: veraltete Lösungen
  • Stufe 1: Software auf traditionellen GPUs
  • Stufe 2: Ray-/Box- und Ray-/Tri-Tester in Hardware
  • Stufe 3: Bounding Volume Hierarchy (BVH) Processing in Hardware
  • Stufe 4: BVH Processing und Kohärenz-Sortierung in Hardware
  • Stufe 5: Kohärente BVH-Verarbeitung mit Scene Hierarchy  Generation (SHG) in Hardware

Das Raytracing ist kein neues Thema oder eine neue Computertechnik. Es handelt sich dabei um eine kleine Erweiterung der sechs von Imagination vorgeschlagenen Stufen.

Stufe 0. Es hat viele ehrgeizige Level-0-Versuche gegeben, aber leider sind alle gescheitert. Dennoch werden weiterhin neue Designs mit kundenspezifischen APIs angekündigt. Der größte Grund für das Scheitern war die Diskontinuität in der Art und Weise, wie traditionelle GPUs Daten verarbeiten. Teil des Scheiterns war der Versuch, ein neues Paradigma zu schaffen. Ohne Kontinuität wird ein völlig neues und nicht kompatibles Ökosystem aufgezwungen, das keine evolutionäre Übernahme bietet. OpenRL von Imagination Technologies war der erste Versuch, eine Verbindung mit Standard-3D-APIs wie OpenGL herzustellen.

Stufe 1. Raytracing wurde als eine Anwendung behandelt und läuft auf konventionellen Prozessoren, wobei x86 am häufigsten verwendet wird. Eine solche Softwarelösung gewährleistet die Kontinuität mit dem bestehenden Ökosystem. Zur Ausführung der Raytracing-Funktionalität werden Compute/Shader-Pfade verwendet. Da in einer Szene jedoch so viele Strahlen gleichzeitig laufen können, hat eine 2-, 4- oder sogar 16-Kern-CPU aufgrund der Rechenlast Schwierigkeiten mit der Leistung. Um Echtzeiterfahrung zu erhalten, muss man viele Tricks, Hacks und Abkürzungen anwenden und die Auflösung begrenzen.

Ein Beispiel ist Adshirs LocalRay, bei dem die Sekundärstrahlen vorrangig in kohärenten Strahlen behandelt werden. Dies verbessert nicht nur die Parallelität und Leistung, sondern auch die Cache-Nutzung. Es ist nicht in der Auflösung/Verwendung begrenzt und es gibt keine Tricks.

Stufe 2. Ray-Box- und Ray-Triangle-Tester können in Hardware implementiert werden, indem man standardmäßige abgesicherte Multiplikations-Additions-Operationen auf GPUs verwendet, aber diese wiederholte Operation ist teuer (Zyklen/Leistung/Flächenkosten). Bei einer Level-2-Lösung wird ein großer Teil des Raytracing-Auftrags auf dedizierte Hardware verlagert, was die Effizienz verbessert.

Stufe 3. Das BVH Processing bietet eine umfassendere Entlastung der Datenflussverwaltung in Hardware. BVH trägt dazu bei, die Anzahl der erforderlichen Ray-Tests durch ein hierarchisches Testsystem zu reduzieren, wodurch Raytracing in Echtzeit möglich wird. Die Verfolgung eines Strahls durch die Beschleunigungsstruktur ist viel komplizierter als nur Ray-Box- und Ray-Triangle-Tests. Es ist ein komplexer und dynamischer Datenfluss erforderlich, bei dem jeder Box-Testschritt entscheidet, was als nächstes geschieht, z.B. mehr hierarchische Box-Tests und/oder Dreieckstests. Es gibt beträchtliche Möglichkeiten, diesen Prozess zu rationalisieren, indem die vollständige BVH-Baumstruktur in Hardware umgesetzt wird. Dies kann die Ausführungseffizienz, Bandbreite und Cache-Effizienz verbessern und ermöglicht die nächste Stufe der Beschleunigung des Raytracing.

Das neue MIMD-Ray-Tracing-Hardware-Design von Siliconart kann als ein Gerät der Stufe 3 betrachtet werden, da sein RayCore MC statische und dynamische BVH-Strukturen verarbeitet, um die Trefferpunkte der Strahlen zu finden.

Stufe 4. Das BVH Processing mit Kohärenz-Sortierung in Hardware kann die Verarbeitungs- und Bandbreiteneffizienz der Raytracing-Technik erhöhen. Das Raytracing kämpft mit der Kohärenz, da abprallende Strahlen immer mehr Divergenzen in den Strahlrichtungen erzeugen. Jeder Strahl muss durch die BVH-Struktur laufen und wenn jeder Strahl einem anderen Weg folgt, führt dies zu einer sehr schlechten Speicherzugriffseffizienz und Caching. Da divergierende Strahlen auch unterschiedliche Objekte treffen, entspricht dies nicht dem SIMD-Charakter aller modernen GPU-Architekturen: Unterschiedliche Strahlentreffer bedeuten unterschiedliche Shader. Eine Hardware-Kohärenz-Sortier-Engine kann diese 4. Effizienzstufe ermöglichen. Das Hinzufügen einer Kohärenzsortierung über die Strahlen bei Flügen hilft bei der SIMD- und BVH-Speicherzugriffseffizienz für eine höhere Ausnutzung der realen Strahlungsrate.

Diese Art von Hardware-Kohärenz-Engine ähnelt der kachelbasierten verzögerten Wiedergabe (TBDR) von Imagination Technologies, die einen einzigartigen Sortierblock verwendet, um eine kohärente Verarbeitung von Pixeln zu gewährleisten, während die Kohärenz-Engine dies auch für Strahlen ermöglicht. Eine Hardware-Strahlenkohärenz-Sortier-Engine ermöglicht diese 4. Effizienzstufe.

Stufe 5. Volle Beschleunigung der Raytracing-Verarbeitung in Hardware. Der Aufbau einer effizienten BVH-Struktur ist komplex und teuer. Sie kann auf der CPU und/oder der GPU unter Verwendung einer Vielzahl von Algorithmen und Ansätzen erfolgen. Um eine optimale Effizienz der Stufe 5 zu erreichen, ist jedoch eine dedizierte Hardwarelösung erforderlich. Ein Hardware-BVH-Builder ermöglicht eine viel höhere Leistung mit hoher Effizienz für sehr detaillierte dynamische 3D-Szenen. Wenn diese Anforderung zu einem Hardware-Design unter Level 4 hinzugefügt wird, kann sie als Plus-Level erkannt werden, z.B. als Level 2 Plus-Lösung. Brute-Force-Raytracing ist nicht realistisch, geht schnell zur Neige und ist einfach nicht mit dem Budget von mobilen Endgeräten kompatibel.

Imagination Technologies bietet jedoch seit 2014 mit dem PowerVR GR6500 Level 5 Ray Tracing-Lösungen an. Das Unternehmen gibt an, dass seine PowerVR-Ray-Tracing-Architekturlizenzen verfügbar und bereits durch mehr als 200 erteilte Patente abgesichert sind.

Wir hoffen, dass wir Ihnen einen guten ersten Überblick über die Stufen des Raytracings bieten konnten. Wenn Sie noch Fragen oder Anregungen haben sollten, hinterlassen Sie uns unten einen Kommentar.

Vielen Dank für Ihren Besuch.

3DMaster