Consorțiul Khronos, care se ocupă de dezvoltarea standardelor grafice, a publicat standardul ANARI 1.0 (Analytic Rendering Interface), definind API-ul pentru motoare de randare multiplatformă și având ca scop unificarea interfețelor software pentru vizualizarea datelor. Implementările motoarelor de randare care suportă standardul ANARI au fost pregătite deja de companiile AMD (RadeonProRenderANARI), Intel (anari-ospray) și NVIDIA VisRTX). De asemenea, au fost publicate: un SDK deschis pentru dezvoltarea aplicațiilor, un addon cu suport ANARI pentru pachetul Blender și un generator de scene în format USD. Suportul ANARI este integrat în pachetele deschise de vizualizare VMD, VTK/ParaView și VisIt.
Se preconizează că noua specificație va simplifica semnificativ dezvoltarea aplicațiilor care efectuează vizualizarea datelor științifice. ANARI oferă funcționalitate high-level gata de utilizare pentru construirea scenelor 3D în memorie, permițând evitarea scrierii codului low-level pentru lucrul cu grafica. Aplicațiile care suportă ANARI pot lucra cu orice motoare de randare care oferă acest API. Specificația este dezvoltată conform principiilor de construire a standardelor deschise și ia în considerare dorințele comunității (de exemplu, în răspuns la sugestiile din comunitate, a fost adăugat suport pentru formatul glTF pentru utilizarea materialelor bazate pe randare fizică corectă).
ANARI oferă un API C (C99) cu legături pentru lucrul în siguranță cu tipurile în codul C++, permițând crearea în memorie a arborilor ierarhici de obiecte pentru reprezentarea completă a scenei 3D, geometrie de suprafață tridimensională și date volumetrice. Se oferă astfel de funcționalități, cum ar fi suportul pentru extensii pentru extinderea funcționalității motoarelor de randare, obținerea de informații despre actualizarea scenei în modul asincron, lucrul eficient cu masele în modul zero-copy (fără alocarea de memorie suplimentară, folosind doar bufferul inițial furnizat), precum și instrumente pentru vizualizare în mod interactiv.
Sursa: opennet.ro
