Sistema di rendering MoonRay open source di Dreamworks

Lo studio di animazione Dreamworks ha reso open source il sistema di rendering MoonRay, che utilizza il ray tracing basato sull'integrazione numerica Monte Carlo (MCRT). Il prodotto è stato utilizzato per renderizzare i film d'animazione “Dragon Trainer 3”, “I Croods 2: Housewarming Party”, “Bad Boys”, “Trolls. World Tour", "The Boss Baby 2", "Everest" e "Il gatto con gli stivali 2: L'ultimo desiderio". Il codice è pubblicato sotto la licenza Apache 2.0 e sarà ulteriormente sviluppato come prodotto open source nell'ambito del progetto OpenMoonRay.

Il sistema è stato sviluppato da zero, liberato dalla dipendenza da codice obsoleto ed è pronto per la creazione di opere professionali, come i lungometraggi. L'attenzione iniziale del progetto era rivolta all'elevata efficienza e scalabilità, incluso il supporto per rendering multi-thread, parallelizzazione, istruzioni basate su vettori (SIMD), simulazione realistica dell'illuminazione, elaborazione dei raggi lato GPU o CPU, simulazione realistica dell'illuminazione basata su tracciamento del percorso, rendering strutture volumetriche (nebbia, fuoco, nuvole).

Per organizzare il rendering distribuito, utilizziamo il nostro framework Arras, che ci consente di distribuire i calcoli su più server o ambienti cloud. Il codice Arras sarà open source insieme al codice base MoonRay principale. Per ottimizzare i calcoli dell'illuminazione in ambienti distribuiti, è possibile utilizzare la libreria di ray tracing Intel Embree e il compilatore Intel ISPC per vettorizzare gli shader. È possibile interrompere il rendering in qualsiasi momento e riprendere le operazioni dalla posizione interrotta.

Il pacchetto include anche un'ampia libreria di materiali di rendering basato sulla fisica (PBR) testati in progetti di produzione e il livello USD Hydra Render Delegates per l'integrazione con sistemi familiari di creazione di contenuti che supportano il formato USD. È possibile utilizzare varie modalità di generazione delle immagini, da quelle fotorealistiche a quelle altamente stilizzate. Con il supporto del rendering distribuito, gli animatori possono tenere traccia dei risultati in modo interattivo e eseguire il rendering simultaneo di più versioni di una scena in diverse condizioni di illuminazione, diverse proprietà dei materiali e da diverse prospettive.



Fonte: opennet.ru

Aggiungi un commento