Il consorzio Khronos, che si occupa dello sviluppo di standard grafici, ha pubblicato lo standard ANARI 1.0 (Analytic Rendering Interface), che definisce un'API per motori di rendering multipiattaforma e mira a unificare le interfacce software per la visualizzazione dei dati. Le implementazioni dei motori di rendering che supportano lo standard ANARI sono già state preparate dalle aziende AMD (RadeonProRenderANARI), Intel (anari-ospray) e NVIDIA (VisRTX). Sono stati pubblicati anche: un SDK aperto per lo sviluppo di applicazioni, un'estensione con supporto ANARI per il pacchetto Blender e un generatore di scene nel formato USD. Il supporto ANARI è integrato nei pacchetti visualizzazione aperti VMD, VTK/ParaView e VisIt.
Si prevede che la nuova specifica semplifichi notevolmente lo sviluppo di applicazioni per la visualizzazione dei dati scientifici. ANARI fornisce funzionalità ad alto livello pronte per costruire scene 3D in memoria, consentendo di evitare la scrittura di codice a basso livello per l'elaborazione grafica. Le applicazioni che supportano ANARI possono lavorare con qualsiasi motore di rendering che fornisca questa API. La specifica è stata sviluppata secondo i principi di creazione di standard aperti e tiene conto delle richieste della comunità (ad esempio, in risposta a proposte dalla comunità, è stato aggiunto il supporto per il formato glTF per l'uso di materiali basati su rendering fisicamente corretto).
ANARI fornisce un'API in C (C99) con wrapper per un uso sicuro dei tipi nel codice C++, consentendo di creare in memoria alberi gerarchici di oggetti per una rappresentazione completa della scena 3D, della geometria superficiale tridimensionale e dei dati volumetrici. Sono disponibili funzionalità come il supporto per plugin per estendere le funzionalità dei motori di rendering, l'ottenimento di informazioni sull'aggiornamento della scena in modalità asincrona, un'efficace gestione delle masse in modalità zero-copy (senza allocazione di memoria aggiuntiva, utilizzando solo il buffer fornito inizialmente), strumenti per la visualizzazione in tempo reale.
Fonte: opennet.ru
