Intel hat die Version 1.0 des OSPRay Studio Projekts veröffentlicht, das eine Anwendung zur interaktiven 3D-Visualisierung mit der verteilten Ray Tracing Engine OSPRay weiterentwickelt. Unter anderem kann die Software für die hochpräzise Renderung komplexer Szenen sowie die Verarbeitung sehr großer Szenen verwendet werden, die die verteilte Berechnung in einem Cluster aus mehreren Computern erfordern. Der Anwendungscode ist in C++ geschrieben und wird unter der Apache 2.0 Lizenz verbreitet. Für die Anzeige auf dem Bildschirm kommen OpenGL und die GLFW-Bibliothek zum Einsatz.
Die zu rendernde Szene kann in gängigen Formaten geladen oder mithilfe von Knoten des Szenengraphen (Scene Graph) erstellt werden. Der Import von Modellen im MTL-Format für fotorealistische Renderings, 3D-Animationen im glTF-Format, Texturen im UDIM-Format, volumetrischen dünnen Partikeln (z.B. Wolken) im VDB-Format, Punktwolken im PCD-Format (Point Cloud Data) sowie Lichtprofilen im EULUMDAT-Format (.ldt) wird unterstützt. Der Zustand des Szenengraphen kann im JSON-Format gespeichert oder geladen werden.
Erweiterte Funktionalitäten, Benutzeroberflächen-Widgets und Datenimport-Handler können in Form von Plugins integriert werden. Beispielsweise sind Plugins zur Visualisierung medizinischer Daten im DICOM-Format, zur Erstellung von Landschaften basierend auf Höhenkarten, zur Verarbeitung großer Gruppen standardisierter Objekte (Gras, Bäume), zur Simulation astronomischer Ereignisse, zur Visualisierung wissenschaftlicher Daten im VTK-Format usw. verfügbar.
Um das Verhalten von Licht zu simulieren, wird die Methode der Strahlenverfolgung unterstützt. Die Visualisierung kann volumetrisch oder auf einer Fläche erfolgen. Fotorealistische globale Beleuchtung unter Berücksichtigung der physikalischen Eigenschaften von Materialien sowie erweiterte Schattierungseffekte (Schatten, Transparenz und Ambient Occlusion) werden unterstützt. Es ist möglich, Skripte für die Durchführung von Batching-Operationen zu erstellen, z. B. zum Rendern von Bildern auf einem System ohne Monitor, zum Auswählen von Bereichen für das Rendern sowie zur Einrichtung von Kamera-, Rendering- und Szenenparametern.
In der neuen Version von OSPRay Studio:
- Die Unterstützung für die Funktionen der OSPRay-Engine, die in der Version 3.1 eingeführt wurden, wurde hinzugefügt.
- Die Benutzeroberfläche unterstützt nun zusätzlich Materialien, die im OSPRay-Engine unterstützt werden.
- Unterstützung für die OpenEXR-API v2.x und v3.x wurde hinzugefügt.
- Es wird nun eine asynchrone Dateiveränderungserkennung für die automatische Aktualisierung von Texturen bereitgestellt.
- Die API für Plugins ermöglicht den Zugriff auf die Klassen MainWindow und ArcballCamera.
- Im Batch-Modus wird jetzt verteiltes Rendering unter Verwendung von MPI unterstützt.
Darüber hinaus wurde vor ein paar Tagen eine neue Version der 3D-Rendering-Engine OSPRay 3.1 veröffentlicht, die in OSPRay Studio 1.0 eingesetzt wird. Die Engine entwickelt sich im Rahmen des größeren Projekts Intel Rendering Framework, das sich auf die Entwicklung von Software-Visualisierungstools für wissenschaftliche Berechnungen (SDVis - Software Defined Visualization) konzentriert und Bibliotheken wie die Raytracing-Bibliothek Embree, das fotorealistische Rendering-System GLuRay, die Bildrauschen-Reduktionsbibliothek oidn (Open Image Denoise) sowie das Software-Rasterisierungssystem OpenSWR umfasst. Der Code ist in C++ verfasst und unter der Apache 2.0-Lizenz veröffentlicht.
OSPRay ist hauptsächlich für interaktive Anwendungen zur Echtzeit-Szenen-Renderegn entwickelt. Die Engine kann ohne GPU-Bindung betrieben werden, was den Einsatz der Bibliothek auf einer Vielzahl von Geräten von Workstations bis hin zu Knoten in Rechenclustern ermöglicht. Um eine angemessene Leistung sicherzustellen, wird aktiv Multithreading und Vektorisierung auf Basis von SIMD-Instruktionen wie Intel SSE4, AVX, AVX2 und AVX-512 eingesetzt. Das Rendern kann auf mehrere Knoten des Clusters verteilt werden (MPI wird unterstützt), was es beispielsweise ermöglicht, OSPRay zur Erstellung von Bildern mit sehr hoher Auflösung auf Videowänden zu verwenden, wobei ein einzelnes Bild aus einer Reihe von separaten LCD-Panels zusammengesetzt wird.
Zu den Verbesserungen in OSPRay 3.1 gehören:
- Unterstützung für die Verwendung von strahlenden Texturen mit leuchtenden Materialien.
- Die unterstützten sphärischen Objekte wurden um „Scheibe“ (OSP_DISC) und „orientierte Scheibe“ (OSP_ORIENTED_DISC) erweitert.
- Es wurden Modusse für eine spiegelnde Wiederholung und für das Überlagern von Texturen an den Kanten (Edge Texture Wrap) hinzugefügt.
- Für alle Texturen wurde die Unterstützung für den Modus OSPTextureWrapMode hinzugefügt.
- Vollständige Unterstützung für das Textur-Wrapping im glTF-Format wurde sichergestellt.
- Unterstützung für Rauschreduzierung und Tonanpassung für Pufferdaten wurde hinzugefügt.
- Die Unterstützung von Bewegungssimulationen (Motion Blur) wurde bei der Nutzung von GPUs implementiert.
Quelle: opennet.ru
