Renderização

Imagem gerada pelo rasterizador
Imagem gerada pelo rasterizador

O modo de Renderização desenha a cena na CPU, sem depender da placa de vídeo. Ele percorre a geometria do projeto em blocos retangulares distribuídos entre os núcleos do processador, e cada bloco conclui as suas amostras antes de aparecer na tela.

Enquanto o viewport mostra uma aproximação em tempo real, aqui cada pixel é calculado uma vez só, com direito a sombras traçadas por raios, luz indireta, desfoque de lente e efeitos de câmera. É a imagem que sai do editor para uma apresentação, uma loja ou um portfólio.

No painel lateral ficam os controles, agrupados em seções. Cada seção tem a sua página, com o antes e o depois do que ela muda. Enquadre a vista e escolha os ajustes; a imagem só começa no botão Renderizar. O projeto é copiado naquele instante: editar objetos ou mexer nos controles depois não muda a imagem em andamento, só a próxima. Durante o render a vista fica travada, e dá para pausar, retomar ou cancelar a qualquer momento. Cancelar mantém os blocos que já ficaram prontos.

A renderização continua ao trocar de modo. Dá para voltar ao editor e seguir trabalhando enquanto a imagem sai, com um anel no botão do modo mostrando o progresso, e ao voltar para o modo de renderização ela aparece onde parou. Parada, mover a câmera tira a imagem da frente para enquadrar de novo.

Definições

Os ajustes do painel formam uma Definição de renderização, salva no projeto. Um projeto pode ter quantas definições quiser, como uma prévia rápida e uma versão final, e o seletor no topo do painel alterna entre elas. Toda mudança nos controles fica gravada na definição escolhida, e quem abre o projeto enxerga as mesmas definições. Quem só pode visualizar o projeto alterna e experimenta à vontade, mas nada do que muda é salvo.

Renderizador

Cada bloco é entregue a um worker, uma linha de trabalho separada que roda em um núcleo do processador. Com vários workers, vários blocos são calculados ao mesmo tempo, e a interface do editor continua respondendo enquanto a imagem sai.

Se quiser ajustar como esse trabalho é dividido, abra Configurações e vá à aba Renderizador. Os dois ajustes valem para todos os renders feitos neste computador.

  • Workers: Quantos workers dividem os blocos, de 0 a 32. Em 0 o editor usa um por núcleo do processador e deixa um livre para a interface. O primeiro worker prepara o projeto uma vez e os outros leem a mesma memória, então subir o número acelera a imagem quase sem aumentar o consumo de memória.
  • Tamanho dos blocos: O lado do bloco, de 16 a 128 pixels. Blocos pequenos aparecem mais cedo e espalham melhor o trabalho entre os núcleos; blocos grandes reduzem a conversa entre os workers. O padrão de 64 pixels funciona bem na maioria das máquinas.

Código aberto

O renderizador é código aberto, publicado como o pacote @tinypoly/cpu-renderer. Se quiser entender como ele funciona, relatar um problema ou contribuir com uma melhoria, o repositório é github.com/tinypoly/cpu-renderer.

Arquivo

Arquivo

  • Salvar Frame (PNG): Salva a imagem com os blocos já concluídos, incluindo o fundo transparente quando selecionado.

Nesta seção