A Dreamworks abriu o código do sistema de renderização MoonRay

O estúdio de animação Dreamworks abriu o código-fonte do sistema de renderização MoonRay, que usa traçado de raios baseado na integração numérica de Monte Carlo (MCRT). O produto foi utilizado para renderizar os filmes de animação “Como Treinar o Seu Dragão 3”, “Os Croods 2: Festa de Inauguração”, “Bad Boys”, “Trolls. World Tour", "The Boss Baby 2", "Everest" e "Gato de Botas 2: O Último Desejo". O código é publicado sob a licença Apache 2.0 e será desenvolvido como um produto de código aberto dentro do projeto OpenMoonRay.

O sistema foi desenvolvido do zero, livre da dependência de códigos desatualizados e está pronto para a criação de obras profissionais, como longas-metragens. O foco inicial do projeto estava em alta eficiência e escalabilidade, incluindo suporte para renderização multithread, paralelização, instruções baseadas em vetores (SIMD), simulação de iluminação realista, processamento de raios do lado da GPU ou CPU, simulação de iluminação baseada em rastreamento de caminho realista, renderização estruturas volumétricas (nevoeiro, fogo, nuvens).

Para organizar a renderização distribuída, utilizamos nosso próprio framework Arras, que nos permite distribuir cálculos em diversos servidores ou ambientes de nuvem. O código Arras será de código aberto junto com a base de código principal do MoonRay. Para otimizar os cálculos de iluminação em ambientes distribuídos, a biblioteca de rastreamento de raios Intel Embree pode ser usada e o compilador Intel ISPC pode ser usado para vetorizar shaders. É possível interromper a renderização a qualquer momento e retomar as operações da posição interrompida.

O pacote também inclui uma grande biblioteca de materiais de renderização com base física (PBR) testados em projetos de produção e a camada USD Hydra Render Delegates para integração com sistemas familiares de criação de conteúdo que suportam o formato USD. É possível utilizar vários modos de geração de imagens, desde fotorrealistas até altamente estilizados. Com suporte para renderização distribuída, os animadores podem acompanhar os resultados de forma interativa e renderizar simultaneamente diversas versões de uma cena sob diferentes condições de iluminação, diferentes propriedades de materiais e de diferentes perspectivas.



Fonte: opennet.ru

Adicionar um comentário