Intel-Unternehmen eine bedeutende Version der skalierbaren 3D-Rendering-Engine , die für realistische, hochwertige Visualisierung mit Raytracing gedacht ist und sich für interaktive Anwendungen eignet. Die Engine wird als Teil eines größeren Projekts entwickelt , das darauf abzielt, Software-Visualisierungstools für wissenschaftliche Berechnungen zu entwickeln (Software Defined Visualization), einschließlich einer Raytracing-Bibliothek , eines Systems für fotorealistisches Rendering , einer Bibliothek zur Rauschunterdrückung in Bildern und einem System für softwarebasierte Rasterisierung . Der Code ist in C++ geschrieben und unter der Apache 2.0 Lizenz.
OSPRay ist hauptsächlich für die Verwendung in interaktiven Anwendungen zum Echtzeit-Rendering von Szenen ausgelegt. Zur Simulation des Lichtverhaltens wird die Methode verwendet. Volumen- und Planarvisualisierung sowie fotorealistisches unter Berücksichtigung der physikalischen Eigenschaften von Materialien, erweiterte Shading-Effekte (Schatten, Transparenz und das Shading „«).
OSPRay nutzt ausschließlich CPU-Ressourcen und ist nicht an GPU gebunden, was ermöglicht, die Bibliothek auf einer Vielzahl von Geräten zu verwenden, von Workstations bis hin zu Knoten in Compute-Clustern. Für die Sicherstellung der erforderlichen Leistung wird aktiv Multithreading und Vektorisierung auf der Basis von SIMD-Instruktionen wie Intel SSE4, AVX, AVX2 und AVX-512 eingesetzt (OSPRay benötigt mindestens Unterstützung für SSE4.1).
Das Rendering kann auf mehrere Clusterknoten verteilt werden (MPI wird unterstützt), was es beispielsweise ermöglicht, OSPRay zur Erzeugung von Bildern mit sehr hoher Auflösung auf , wobei ein einzelnes Bild aus einer Reihe von LCD-Panels zusammengesetzt wird. So wurde die Leistung von OSPRay beispielsweise an einem zusammengesetzten Bildschirm , der aus 80 30-Zoll-Monitoren besteht (gesamt 40960×8000 oder 328 Megapixel) und von einem Cluster aus 40 Servern mit 6-Kern-CPUs auf Basis der Intel Sandy Bridge Mikroarchitektur unterstützt wird.
Eine signifikante Änderung der Versionsnummer ist auf eine umfangreiche Überarbeitung der API zurückzuführen, einschließlich Änderungen, die die Kompatibilität beeinträchtigen (um den Übergang zur neuen API zu erleichtern, wurde eine Middleware-Bibliothek vorgeschlagen, die die Migration glättet), sowie auf die Bereitstellung neuer geometrischer Typen. Unterstützung für Open VKL (Open Volume Kernel Library) für volumetrisches Rendering wurde hinzugefügt. Die Möglichkeit zur Anbindung wurde umgesetzt. zur Unterdrückung von Bildrauschen. Die Bibliothek ospcommon und das Modul zur Unterstützung von MPI wurden in separate Repositories ausgelagert.
Quelle: opennet.ru
