Intel har offentliggjort udgivelsen af OSPRay Studio 1.0, der udvikler et program til interaktiv 3D-visualisering ved hjælp af OSPRay ray tracing engine. Blandt andet kan programmet bruges til højpræcisions rendering af komplekse scener og behandling af meget store scener, der kræver distribueret udførelse af beregninger i et cluster af flere computere. Programmets kode er skrevet i C++ og distribueres under Apache 2.0 licensen. OpenGL og GLFW-biblioteket bruges til at tegne på skærmen.
Den scene, der skal renderes, kan indlæses i almindeligt anvendte formater eller oprettes ved hjælp af nodes i scenegraphen (scene graph). Import af modeller i MTL-format med materialer til fotorealistisk rendering understøttes, 3D-animation i glTF-format, teksturer i UDIM-format, volumetriske sparse partikler (for eksempel skyer) i VDB-format, punkt-skyer i PCD (Point Cloud Data) format, og belysningsprofiler i EULUMDAT (.ldt) format. Tilstanden af scenegraphen kan gemmes eller indlæses i JSON-format.
Udvidet funktionalitet, widgets til brugergrænsefladen og dataintegration kan tilføjes i form af plugins. For eksempel er der tilgængelige plugins til visualisering af medicinske data i DICOM-format, generering af landskaber fra højde kort, behandling af store grupper af standardobjekter (græs, træer), simulering af astronomiske begivenheder, visualisering af videnskabelige data i VTK-format osv.
Til simulering af lysadfærd understøttes metoden for ray tracing. Visualisering kan udføres i volumen eller på en plane. Fotorealistisk global belysning, der tager højde for materialers fysiske egenskaber, og avancerede skyggeeffekter (skygger, gennemsigtighed og Ambient occlusion skygge) understøttes. Det er muligt at oprette scripts til at udføre batch-operationer, for eksempel til rendering af billeder på et system uden skærm, vælge områder til rendering, justere kameraindstillinger, rendering parametre og scener.
I den nye version af OSPRay Studio:
- Understøttelse af OSPRay-engine-funktionalitet, der blev introduceret i version 3.1, er blevet tilføjet.
- Brugergrænsefladen indeholder nu understøttelse af ekstra materialer, der understøttes i OSPRay-engine.
- Understøttelse af OpenEXR v2.x og v3.x API er tilføjet.
- Der er sikret asynkron filændringsdetektion for automatisk opdatering af teksturer.
- I API'et for plugins er der implementeret adgang til klasserne MainWindow og ArcballCamera.
- Batch-tilstand giver support til distribueret rendering ved hjælp af MPI.
Desuden kan det nævnes, at en ny version af 3D-rendering engine OSPRay 3.1 blev offentliggjort for nogle dage siden og anvendes i OSPRay Studio 1.0. Engine udvikles som en del af et større projekt, Intel Rendering Framework, der har til formål at udvikle værktøjer til softwarevisualisering af videnskabelige beregninger SDVis (Software Defined Visualization), som inkluderer ray tracing biblioteket Embree, fotorealistisk rendering systemet GLuRay, biblioteket til billedstøjreduktion oidn (Open Image Denoise) og software rasterizer systemet OpenSWR. Koden er skrevet i C++ og offentliggjort under Apache 2.0 licensen.
OSPRay er primært designet til brug i interaktive applikationer til at renderere scener i realtid. Engine kan køre uafhængigt af GPU'en, hvilket gør det muligt at bruge biblioteket på en bred vifte af enheder, fra arbejdsstationer til noder i compute clusters. For at sikre tilstrækkelig ydelse anvendes multitrådning og vektorisering baseret på SIMD-instruktioner som Intel SSE4, AVX, AVX2 og AVX-512. Rendering kan være distribueret over flere noder i klyngen (MPI understøttet), hvilket for eksempel muliggør brug af OSPRay til at organisere rendering af billeder med meget høj opløsning på videovægge, hvor et samlet billede dannes af et sæt af separate LCD-paneler.
Blandt forbedringerne i OSPRay 3.1:
- Understøttelse af emissive teksturer med lysende materialer.
- Der er tilføjet 'disk' (OSP_DISC) og 'orienteret disk' (OSP_ORIENTED_DIS) til de understøttede sfæriske objekter.
- Der er tilføjet muligheder for spejlrepetition og teksturoverlejring på kanterne (edge texture wrap).
- For alle teksturer er der tilføjet understøttelse af OSPTextureWrapMode.
- Der er sikret fuld understøttelse af teksturovwrapning i glTF-format.
- Understøttelse af støjreduktion og tonejustering for data i bufferen er tilføjet.
- Ved brug af GPU er der implementeret støtte til bevægelsessløring (motion blur) af bevægelige objekter.
Kilde: opennet.ru
