Pixar, Renderman e o Linux

Como os estúdios de animação renderizam seus filmes? Falaremos do Renderman, da Pixar e do Linux!


| Se você apoia nosso site, desative o AdBlock quando visitá-lo, inclusive em Mobile!
Os anúncios são poucos e não invasivos. Se quiser contribuir com nosso trabalho, clique em qualquer banner de sua preferência, exceto dos Parceiros. 
Mais detalhes clicando aqui.


1. Introdução

Já abordamos aqui no site nesta publicação o poder do Blender e já trouxe, em outras oportunidades como até no SteamDeckrenderização 3D é possível e interessante no Linux. Além disso, já abordamos aqui o quanto a OSCARS possui um grande interesse em plataformas open source, e, não obstante, já abordamos aqui que o Titanic foi o primeiro longa metragem 100% renderizado com Linux. Ufa, é muita coisa envolvendo renderizações, curtas e longas metragens e o Linux!

Mas hoje quero trazer mais alguns detalhes e curiosidades do universo das animações e, nada mais, nada menos, gostaria de falar da Pixar!

2. Render

Esclarecendo a quem tiver dúvidas, o processo de renderização é pegar o modelo 3D de algo e adicionar/programar animações e de fato animá-lo, exportando para um formato de vídeo que depois será reproduzido pelos clientes, cinemas, etc. Essa renderização pode ser mais simples, como uma foto, uma trilha de áudio ou um vídeo propriamente dito.

Neste exemplo, modelei e gerei algumas donuts num prato com um cenário. Após a renderização este é o resultado:

Em suma, renderizar é tornar aquele projeto crível aos olhos, torná-lo uma experiência artística.

Na parte técnica, o trabalho de renderização normalmente é feito pelas placas de vídeo. Nesse exemplo das Donuts, tudo demorou em torno de 2 minutos em uma placa de vídeo NVIDIA RTX 3050 de 8 Gb. Se eu tivesse diversas placas, ou vários computadores na rede, poderia renderizar com tempo ainda menor, porque todas trabalhariam juntas num sistema de cluster, também conhecido como render farm.

3. Render Farm

Uma render farm é conceitualmente a união de centenas ou milhares de placas de vídeo, estando ou não em vários computadores, juntos em rede, cada uma fazendo uma etapa da renderização com o objetivo de reduzir tempo. Em suma, um cluster.

E AQUI, tempo é absurdamente importante!

Semelhante a uma mineradora de Bitcoins, uma render farm tem o objetivo de…. renderizar! E a essa altura sua suposição ao tema deste artigo seria o seguinte:

Estúdios como a Pixar usam render farms, beleza isso eu entendi. Então qual o mistério?

De fato quero detalhar a parte técnica deles!

4. Tempo

Uma renderização comum pode demorar muitas horas. Este vídeo a seguir, versão 1.0 alpha da futura introdução do canal da Linux Universe demorou 6 horas para ser renderizado!

Segui um processo semelhante aos dos estúdios: Renderizei frame a frame, exportei cada um deles em .png – os estúdios usam formatos obviamente melhores como o Universal Scene Description (USD) – e depois uni todos em 1 vídeo.

Afinal, vídeos são nada mais, nada menos que uma junção de centenas – ou milhares – de frames, fotos em sequência.

A renderização do exemplo acima foi de 15 segundos de vídeo a 24 frames por segundo, ou seja, em 1 segundo de vídeo passaram 24 imagens! Ao final, após a renderização foram geradas 360 imagens em uma pasta, cada uma com média de 10 mb consumindo 3.6 Gb de material bruto. Esse material depois foi convertido para um vídeo ffmpeg utilizando codec MPEG-4 e hospedado no youtube. Cada frame demorou em média 3 minutos para ficar pronto, o que levou às 6 horas citadas.

Porém quando se trata de uma super produção de um longa metragem animado, a coisa fica ainda mais intensa!

4.1 Renderizando um Filme

Alguns exemplos interessantes a seguir do por quê o tempo de renderização é importante de ser mensurado:

  • Toy Story 1 (1995)
    Cada frame demorou 7 HORAS para ficar pronto.
  • Toy Story 2 (1999)
    Cada frame demorou 4 DIAS para ficar pronto.
  • Kung Fu Panda 2 (2011)
    7 milhões de horas de rendering, para o total de 14.000 frames que o filme possui, em média 500 horas por frame, ou seja: 20 DIAS para cada frame. Algumas cenas como a batalha final demoraram mais para serem renderizadas do que cenas de diálogos em close up, essas 20 horas são uma média.
  • Monsters University (Monstros: A Universidade – 2013)
    Cada frame demorou em média 1 DIA para ficar pronto, com o filme todo demorando 2 ANOS de renderizações no total.

As render farms trabalham de forma paralela com cenas e frames em paralelo, portanto alguns frames que tiveram erros ou precisaram ser ajustados foram renderizados paralelamente novamente após tantos outros que já estavam prontos. Não há ordem a ser seguida, apenas concluir o trabalho priorizando aqueles que derem menos dor de cabeça ao estúdio.

Se um computador doméstico mediano fosse usado para renderizar um filme qualquer, na média de tempo demoraria 400 ANOS para concluir! – Aja poder computacional para tanto frame.

5. Pixar

A história da animação com o logo da Pixar

A Pixar é um famoso estúdio de animações que recentemente nos trouxe filmes como Elemental, Turning Red e Luca, além de clássicos atemporais como Toy Story, Monstros S.A. e Os Incríveis, entre tantos outros. Mas como sabem, e podem ver, esses filmes são essencialmente animações em 3D.

Animações bem elaboradas, bons roteiros, sonoplastia…. mas e a parte técnica, a renderização: Como um estúdio lida com as dificuldades e quais ferramentas utilizam para tal? Quais os desafios?

6. Renderman

Lançado pela Pixar em 1988, o renderman é utilizado internamente e vendido comercialmente e não-comercialmente para qualquer estúdio que tiver interesse. Ele tem por objetivo renderização 3D com foco em grandes produções cinematográficas. Apesar de ser propriedade da Pixar, o programa é vendido ao grande público e qualquer um pode se beneficiar dele!

Efeito de água de “Procurando Dori” (2016) renderizado no Renderman sob a arquitetura RIS.

O maior diferencial do Renderman é permitir que as renderizações possuam o dinamismo necessário que uma render farm pode oferecer, podendo gerar renderizações paralelas e refazer aquelas que derem erros, tudo de forma autônoma.

Cena de “Universidade: Os Monstros” renderizada no Renderman!

Cena de “Os Incríveis 2” no modo viewport do Autodesk® Maya utilizando Renderman.

6.1 Add-ons

O trunfo do Renderman é possuir diversos add-ons para os principais programas do mercado:

  • Blender
  • Autodesk Maya
  • 3DS Max
  • The Foundry KATANA
  • SideFX Houdini

No exemplo do Blender, é possível renderizar com o Renderman diretamente dentro do programa em vez de utilizar as engines Cycles ou EEVEE! Para quem quiser partir para a mão na massa, aqui vai um tutorial de como utilizar o Renderman no Blender:

6.2 Licenças

O programa é licenciado porém gratuito para fins de avaliação por 120 dias, para estudantes, uso doméstico, empresarial, industrial, científico e etc.

A versão de avaliação pode ser renovada gratuitamente por mais 120 dias após expirar. A questão é que a versão de avaliação não funciona numa render farm, apenas em um sistema cluster de até 2 computadores. – O que para uso doméstico é mais do que suficiente!

Maiores informações podem ser encontradas aqui!

7. Linux

A cereja do bolo deste artigo é quanto ao sistema operacional adotado. Aos que utilizam o USD, a maior recomendação é que utilizem sistemas operacionais baseados em Linux, de preferencia com GCC glibc porém há uma preferencia especial quanto ao uso do jemalloc.

O jemalloc é um alocador de memória de propósito geral para permitir fragmentação e escalabilidade, principalmente em trabalhos que requerem alocar memória, fracionar a memória RAM, em sistemas clusterizados. – Em termos leigos muito computador fazendo muita coisa ao mesmo tempo sem travar!

A decisão por sistemas linux é majoritariamente financeira: É muito mais barato manter uma render farm sem licenças de software e por cima podem desenvolver as próprias soluções internas de renderização para tal. Há inúmeros estúdios de cinema e várias soluções distintas, se destaca aquele que trouxer a mais eficiente que traga os resultados mais belos na grande tela.

8. Conclusão

Caso queira saber mais a respeito do Renderman recomendo o manual online deles o que é bastante descritivo!

Não ganhei 1 real para falar bem do Renderman, quis abordá-lo porque achei absurdamente interessante o quanto funciona uma renderização nos bastidores de grandes sucessos do cinema internacional. E com certeza, se você leu meu artigo sobre o Blender e tem interesse em entrar para a área, trabalhar com o Renderman pode abrir oportunidades de ser o próximo técnico de infraestrutura da próxima grande produção da Pixar – ou de qualquer outro estúdio que use a ferramenta!

Fontes:
Arte de Capa
GFXSpeak
VFXVoice
OpenUSD
X/Twitter
Quora

Deixe um comentário