Das Khronos-Konsortium, das sich mit der Entwicklung grafischer Standards beschäftigt, hat den Standard ANARI 1.0 (Analytic Rendering Interface) veröffentlicht, der eine API für plattformübergreifende Rendering-Engines definiert und darauf abzielt, die Programmierschnittstellen zur Visualisierung von Daten zu vereinheitlichen. Implementierungen von Rendering-Engines, die den ANARI-Standard unterstützen, wurden bereits von AMD (RadeonProRenderANARI), Intel (anari-ospray) und NVIDIA VisRTX vorbereitet. Auch veröffentlicht: ein offenes SDK zur Anwendungsentwicklung, ein ANARI-kompatibles Plug-in für Blender und ein Szenengenerator im USD-Format. Die Unterstützung von ANARI ist in offenen Visualisierungspaketen wie VMD, VTK/ParaView und VisIt integriert.
Es wird angenommen, dass die neue Spezifikation die Entwicklung von Anwendungen zur Visualisierung wissenschaftlicher Daten erheblich vereinfacht. ANARI bietet eine fertige, hochgradierte Funktionalität zur Erstellung von 3D-Szenen im Speicher, die es ermöglicht, niedriggradigen Code zur Grafikanwendung zu vermeiden. Anwendungen, die ANARI unterstützen, können mit beliebigen Rendering-Engines arbeiten, die diese API bereitstellen. Die Spezifikation wurde gemäß den Prinzipien offener Standards entwickelt und berücksichtigt die Wünsche der Gemeinschaft (zum Beispiel wurde in Reaktion auf Vorschläge aus der Gemeinschaft die Unterstützung des glTF-Formats zur Verwendung von Materialien auf Basis physikalisch korrekten Renderings hinzugefügt).
ANARI bietet eine C-API (C99) mit Wrappern für die sichere Arbeit mit Typen im C++-Code, die es ermöglichen, hierarchische Objektbäume im Speicher zu erstellen, um die 3D-Szene, die 3D-Flächengeometrie und Volumendaten vollständig darzustellen. Es werden solche Funktionen bereitgestellt wie Unterstützung von Erweiterungen zur Erhöhung der Funktionalität von Rendering-Engines, asynchrone Aktualisierungsinformationen zur Szene und effiziente Arbeit mit Massen im Zero-Copy-Modus (ohne zusätzliche Speicherzuweisungen, nur unter Verwendung des ursprünglich bereitgestellten Puffers), sowie Werkzeuge für die interaktive Visualisierung.
Quelle: opennet.ru
