Das Khronos-Konsortium, das sich mit der Entwicklung von Grafikstandards beschäftigt, hat den Standard ANARI 1.0 (Analytic Rendering Interface) veröffentlicht. Dieser definiert eine API für plattformübergreifende Rendering-Engines und zielt darauf ab, die Programmierschnittstellen für die Datenvisualisierung zu vereinheitlichen. Die Implementierungen von Rendering-Engines, die den ANARI-Standard unterstützen, wurden bereits von Unternehmen wie AMD (RadeonProRenderANARI), Intel (anari-ospray) und NVIDIA (VisRTX) vorbereitet. Darüber hinaus wurden ein offenes SDK zur Anwendungsentwicklung, ein ANARI-kompatibles Add-on für Blender und ein Szenengenerator im USD-Format veröffentlicht. Die ANARI-Unterstützung ist in die Open-Source-Visualisierungspakete VMD, VTK/ParaView und VisIt integriert.
Die neue Spezifikation soll die Entwicklung von Anwendungen zur Visualisierung wissenschaftlicher Daten erheblich erleichtern. ANARI bietet eine fertige, hochgradig abstrahierte Funktionalität zur Erstellung von 3D-Szenen im Speicher, wodurch das Schreiben von Low-Level-Code zur Grafikansteuerung überflüssig wird. Anwendungen, die ANARI unterstützen, können mit allen Rendering-Engines arbeiten, die diese API bereitstellen. Die Spezifikation wurde gemäß den Prinzipien der Erstellung offener Standards entwickelt und berücksichtigt die Vorschläge der Community (zum Beispiel wurde auf Anregungen aus der Community die Unterstützung des glTF-Formats hinzugefügt, um Materialien basierend auf physikalisch korrektem Rendering zu nutzen).
ANARI bietet eine C-API (C99) mit Bindungen für eine sichere Arbeit mit Typen im C++-Code, die es ermöglichen, in der Speicherhierarchie von Objektbäumen komplette 3D-Szenen, dreidimensionale Oberflächengeometrien und volumetrische Daten darzustellen. Funktionen wie die Unterstützung von Plugins zur Erweiterung der Funktionalität von Rendering-Engines, die Möglichkeit zur asynchronen Abrufung von Informationen zur Aktualisierung der Szene und eine effektive Verarbeitung von Massen im Zero-Copy-Modus (ohne zusätzliche Speicherauslagerung und unter Verwendung nur des ursprünglich bereitgestellten Puffers) sowie Werkzeuge zur interaktiven Visualisierung werden bereitgestellt.
Quelle: opennet.ru
