Eu sou novo no gamedev e no Blender, e há algo que não posso abalar:
No Blender, uma renderização única (mesmo usando o renderizador Cycles mais avançado) pode levar até 45 segundos na minha máquina. Mas, obviamente, em um jogo, você pode ter gráficos incríveis e, portanto, a renderização está obviamente acontecendo continuamente, várias vezes por segundo em tempo real.
Então, eu também estou me perguntando o que é a desconexão, com relação à renderização "lenta" do Blender, em comparação com a forma como os mecanismos de jogo atingem a renderização em tempo real (ou quase em tempo real).
Respostas:
A renderização em tempo real, mesmo a renderização em tempo real moderna, é uma sacola de truques, atalhos, hacks e aproximações.
Pegue sombras, por exemplo.
Ainda não temos um mecanismo completamente preciso e robusto para renderizar sombras em tempo real a partir de um número arbitrário de luzes e objetos arbitrariamente complexos. Nós temos várias variantes nas técnicas de mapeamento de sombra, mas todas elas sofrem com os problemas conhecidos dos mapas de sombra e até as "correções" são apenas uma coleção de soluções alternativas e trocas (como regra geral, se você vê os termos "desvio de profundidade" ou "deslocamento de polígono" em qualquer coisa, então não é uma técnica robusta).
Outro exemplo de uma técnica usada pelos renderizadores em tempo real é o pré-cálculo. Se algo (por exemplo, iluminação) é muito lento para calcular em tempo real (e isso pode depender do sistema de iluminação que você usa), podemos pré-calculá-lo e armazená-lo, então podemos usar os dados pré-calculados em tempo real - tempo para um aumento no desempenho, que geralmente ocorre às custas de efeitos dinâmicos. Essa é uma troca direta de memória versus computação: a memória geralmente é barata e abundante, a computação geralmente não é, portanto, queimamos a memória extra em troca de uma economia na computação.
Os renderizadores offline e as ferramentas de modelagem, por outro lado, tendem a se concentrar mais na correção e qualidade. Além disso, como eles estão trabalhando com a geometria que muda dinamicamente (como um modelo que você está construindo), eles geralmente precisam recalcular as coisas, enquanto um renderizador em tempo real estaria trabalhando com uma versão final que não possui esse requisito.
fonte
A resposta atual fez um ótimo trabalho ao explicar os problemas gerais envolvidos, mas sinto que falta um detalhe técnico importante: o mecanismo de renderização "Cycles" do Blender é um tipo diferente de mecanismo usado pela maioria dos jogos.
Normalmente, os jogos são renderizados ao percorrer todos os polígonos de uma cena e desenhá-los individualmente. Isso é feito 'projetando' as coordenadas do polígono através de uma câmera virtual para produzir uma imagem plana. A razão pela qual essa técnica é usada para jogos é que o hardware moderno é projetado com base nessa técnica e pode ser feito em tempo real com níveis relativamente altos de detalhes. Fora de interesse, essa também é a técnica empregada pelo mecanismo de renderização anterior do Blender antes da Fundação Blender abandonar o mecanismo antigo em favor do mecanismo Cycles.
Ciclos, por outro lado, é o que é conhecido como um mecanismo de rastreamento de raios. Em vez de olhar para os polígonos e renderizá-los individualmente, ele lança raios de luz virtuais para a cena (um para cada pixel na imagem final), reflete esse feixe de luz em várias superfícies e usa esses dados para decidir qual cor do pixel deveria estar. O Raytracing é uma técnica muito computacionalmente cara que o torna impraticável para renderização em tempo real, mas é usada para renderizar imagens e vídeos porque fornece níveis extras de detalhes e realismo.
Observe que minhas breves descrições de traçado de raios e renderização de polígonos são altamente reduzidas por questões de brevidade. Se você deseja saber mais sobre as técnicas, recomendo que você procure um tutorial ou livro detalhado, pois suspeito que muitas pessoas tenham escrito explicações melhores do que eu poderia imaginar.
Observe também que há uma variedade de técnicas envolvidas na renderização 3D e alguns jogos realmente usam variações do traçado de raios para certos fins.
fonte