3D-Visualisierung: Plattformübergreifende und offene API für 3D-Rendering-Engines

Verantwortlicher Redakteur:in: Rainer Trummer 3 min Lesedauer

Anbieter zum Thema

Die Khronos Group gibt die Fertigstellung der plattformübergreifenden 3D-Rendering-Engine-API ANARI 1.0 als offenen Standard bekannt.

(Quelle: issaronow/stock.adobe.com)
  • Das Industriekonsortium Khronos Group stellt ANARI 1.0 vor.

  • Dabei handelt es sich um eine plattformübergreifende offene 3D-Rendering-Engine-API.

  • Der offene Standard soll die Entwicklung portabler 3D-Visualisierungsanwendungen vereinfachen.

  • Bereits sind mehrere Implementierungen und ein Open-Source-SDK verfügbar.

Die Khronos Group gibt die Fertigstellung der plattformübergreifenden 3D-Rendering-Engine-API ANARI 1.0 als offenen Standard bekannt. Mehrere Implementierungen von AMD, Intel und Nvidia werden zusammen mit einem Open-Source-SDK von Khronos ausgeliefert. ANARI verspricht, die Entwicklung von Anwendungen in Bereichen wie zum Beispiel der wissenschaftlichen Visualisierung erheblich zu vereinfachen. Denn die Lösung stellt High-Level-Funktionen zum Aufbau einer speicherinternen Szenendarstellung bereit, die sich ohne Low-Level-Grafikcode rendern lassen,. Sie ermöglicht die Verwendung jeder 3D-Rendering-Engine, welche die ANARI-API unterstützt. Die ANARI 1.0-Spezifikation entstand in offener Entwicklung. Sie berücksichtigt dabei die Anregungen der Community, einschließlich der Kompatibilität mit glTF Physically-Based Rendering (PBR)-Materialien.

ANARI findet bereits Eingang in wissenschaftliche Visualisierungsanwendungen. Verschiedene Anwendungen sollen die 3D-Rendering-Engine-API nutzen, wenn sie einen portablen Zugang zu mehreren Rendering-Engines benötigen, die 3D-Funktionen wie Raytracing und Global Illumination bieten. Khronos erwartet das Feedback der Entwickler-Community auf dem ANARI GitHub.

Breite Unterstützung durch Entwickler wissenschaftlicher Visualisierungslösungen

Als branchenweit erste plattformunabhängige 3D-Rendering-Engine-API genießt ANARI eine breite Unterstützung durch wissenschaftliche Visualisierungsentwickler. Dazu gehört die Integration in Open-Source-Anwendungen wie VMD, VTK/ParaView und VisIt. ANARI-Implementierungen werden zudem von AMD, Intel und NVIDIA ausgeliefert, um den Zugriff auf ihre RadeonProRender-, OSPRay- und VisRTX-Rendering-Engines zu ermöglichen. Es gibt auch ein Proof-of-Concept Blender-ANARI Add-on im SDK und die ANARI-USD-Implementierung von Nvidia. Letztere ermöglicht jeder ANARI-Anwendung, USD-Ausgaben für die Verwendung in der Omniverse-Plattform zu erzeugen.

In der Vergangenheit seien für Visualisierungsanwendungen maßgeschneiderte Renderer erforderlich gewesen, aber die rasanten Fortschritte bei Rendering-Algorithmen, Hardware und den zugehörigen Low-Level-GPU-APIs haben es für Fachleute immer schwieriger gemacht, mit modernen Rendering-Methoden Schritt zu halten, ist sich Jefferson Amstutz sicher, Vorsitzender der ANARI-Arbeitsgruppe und Senior Software Engineer bei Nvidia. ANARI vereinfache nun die Entwicklung portabler 3D-Visualisierungsanwendungen, die Back-end-Engines für den Zugriff auf modernstes Rendering nutzen.

Leistungsmerkmale der 3D-Rendering-Engine-API

ANARI ist eine C99-API mit typsicheren C++-Wrappern, die zum Aufbau eines hierarchischen Objektbaums im Speicher zum Einsatz kommt. Dieser stellt die komplette Szene für ein Einzelbild dar, einschließlich 3D-Oberflächengeometrie und volumetrischer Daten. ANARI bietet für Rendering-Engines die Semantik, um Erweiterungen darzustellen, auf asynchrone Szenenaktualisierungen und Zero-Copy-Datenarrays für niedrige Frame-Latenzen zuzugreifen und letztlich perfekt gerenderte Bilder auf dem aktuellen Stand der Technik zu erstellen, ohne dass proprietäre APIs erforderlich sind.

Die ANARI 1.0-Spezifikation wurde mit vollem öffentlichem Zugang zu den Entwurfsspezifikationen entwickelt und umfasst Community-Feedback, einschließlich Verbesserungen der Objektschnittstelle, bessere Fehlerbehandlung durch garantierte API-Stream-Robustheit, überarbeitete Laufzeit-Feature-Abfragen, direkt gemappte Array-Parameter, verbessertes Volumen-Shading und Kompatibilität mit glTF Physically-Based Rendering (PBR)-Materialien.

Quelloffenes SDK mit Beispielanwendungen

Das quelloffene SDK erleichtert Entwicklern die Erforschung und Nutzung der API. Es enthält Beispielanwendungen, darunter einen einfachen interaktiven Viewer, der verschiedene ANARI-Konzepte demonstriert, sowie Entwicklungswerkzeuge, darunter eine Debug-Schicht für die Validierung von API-Streams und eine Schicht für die Verfolgung und Wiedergabe von API-Aufrufen. Für ANARI-Implementierer enthält das SDK-Back-end-Schichten, die gängige Funktionen wie die Handhabung von Parametern oder die Lebensdauer von Objekten implementieren, eine Python-basierte Konformitätstest-Suite und die Beispielimplementierung "Helide". Diese demonstriert die Möglichkeiten der API-Implementierung und zeigt, wie sich Implementierungen in das SDK integrieren lassen.

Jetzt Newsletter abonnieren

Verpassen Sie nicht unsere besten Inhalte

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

Sitzung auf der SIGGRAPH 2023

Bill Sherman vom National Institute of Standards and Technology, ein Mitglied der ANARI-Arbeitsgruppe, wird auf der SIGGRAPH 2023 am Mittwoch, den 9. August von 10.00 bis 11.00 Uhr im Rahmen des Khronos BOF Day im JW Marriott Los Angeles eine Birds of a Feather (BOF) Session mit dem Titel "ANARI: The Industry's First Portable Rendering Engine API" abhalten. Eine Aufzeichnung der Sitzung steht dann auch online bereit.

Weitere Informationen: https://www.khronos.org/

Erfahren Sie hier mehr darüber, wie Organisationen und Unternehmen das offene Metaverse voranbringen.

Lesen Sie außerdem: "Per Geste, Blick und Stimme: Augmented Reality unterstützt Wartung von Flugzeugen"