O famoso estúdio de animação Dreamworks tomou a decisão de liberar o código para o sistema de renderização MoonRay, que usa ray tracing baseado em Integração Numérica de Monte Carlo (MCRT). Portanto, a Dreamworks lançou o código do sistema de renderização MoonRay.
O sistema foi projetado desde o início, não depende de código legacy e está pronto para criar trabalhos profissionais de longa duração.
O design inicial focou em alto desempenho e escalabilidade, incluindo suporte para renderização multithread, paralelização de operações, uso de instruções vetoriais (SIMD), simulação de iluminação realista, processamento de raios lado a lado, GPU ou CPU, simulação de iluminação realista baseada no caminho traçado, renderização de estruturas volumétricas.
Estamos muito satisfeitos em compartilhar com a indústria mais de 10 anos de inovação e desenvolvimento na base de código vetorizada, encadeada, paralela e distribuída da MoonRay, disse Andrew Pearce, vice-presidente
O apetite por renderização em escala cresce a cada ano, e o MoonRay está pronto para atender a essa necessidade. Estamos ansiosos para ver a base de código se fortalecer com o envolvimento da comunidade, pois a DreamWorks continua a demonstrar nosso compromisso com o código aberto.
Dreamworks lançou o código do sistema de renderização MoonRay
Para organizar a renderização distribuída, é utilizado o framework próprio do Arras, que permite que os cálculos sejam distribuídos para vários servidores ou ambientes em nuvem. A renderização em várias máquinas acelera a visualização interativa para o artista ao desacoplar a renderização da ferramenta interativa, o que aumenta a robustez interativa.
Usando MoonRay e Arras em um modo multi-contexto, o artista pode visualizar simultaneamente várias condições de iluminação, propriedades de materiais variadas, várias vezes em uma tomada ou sequência, ou até mesmo vários locais em um ambiente.
Para otimizar a computação de iluminação em ambientes distribuídos, a biblioteca de rastreamento de raios Intel Embree e o compilador Intel ISPC podem ser usados para vetorizar shaders. É possível parar a renderização em um momento arbitrário e retomar as operações da posição interrompida.
Estamos orgulhosos de nossa estreita colaboração com a DreamWorks no MoonRay com seu impressionante desempenho de renderização de ray tracing fotorrealista suportado pelo Intel Embree e pelo Implicit SPMD Compiler (Intel ISPC) de código aberto da Intel, ambos distribuídos no Intel oneAPI Rendering.
A Intel espera novas oportunidades para aplicar o suporte de arquitetura cruzada e fornecedor de oneAPI para este projeto de código aberto para todos os criadores, disse Jim Jeffers, diretor sênior, engenheiro principal sênior de rastreamento de raio avançado da Intel.
Outros detalhes do pacote
O pacote também inclui uma grande biblioteca de PBRs testados em produção e uma camada USD Hydra Render Delegates para integração com sistemas legados de criação de conteúdo em USD.
Vários modos de imagem são possíveis, desde fotorrealistas até altamente estilizados. Com suporte para renderização distribuída, os animadores podem monitorar interativamente a saída e renderizar simultaneamente várias versões da cena com diferentes condições de iluminação, diferentes propriedades de material e de diferentes pontos de vista.
Recursos do MoonRay, como renderização de cabelos e peles, foram desenvolvidos em colaboração com a Intel. Os aprimoramentos resultantes estão incluídos na biblioteca do kernel de rastreamento de raios Intel Embree e exemplificam como o uso de software aberto beneficia todo o ecossistema. Ao adotar o Intel ISPC, o MoonRay adota o paralelismo de vetor de instrução para obter melhorias dramáticas de desempenho.
Como já mencionado, o MoonRay usa o framework de computação distribuída Arras da DreamWorks, que também será incluído na base de código-fonte aberto, para fornecer suporte inovador para várias máquinas e vários contextos.
O produto foi usado para renderizar os filmes de animação “How to Train Your Dragon 3”, “The Croods 2: Housewarming”, “Bad Boys” e “Puss in Boots 2: The Last Wish”. No momento, o site do projeto aberto já foi lançado, mas o código em si está prometido para ser publicado posteriormente no GitHub sob a licença Apache 2.0.
Por fim, se você estiver interessado em saber mais sobre o assunto, poderá consultar os detalhes no link a seguir.