Beyond the
cloudy horizon

Uma hero construída no Blender a partir da engenharia reversa de um template — cada parâmetro medido, cada erro registrado.

como foi feito ↓

O que esta imagem é

Não é um render de banco de imagens. É o produto de um estudo técnico: ler um template, medir seus parâmetros, reproduzir a técnica no Blender e registrar cada passo — inclusive os que deram errado.

3840×2160resolução
112amostras
1,08 Mfios de grama
27técnicas catalogadas
13lições registradas

O acabamento: três coisas que mudaram tudo

A imagem já estava “pronta” antes destas correções. O que faltava não era resolução — era ofício.

material

Feltro é albedo, não relevo

O bump estava conectado e verificado, e mesmo assim não produzia efeito visível: varrer a escala de 340 a 70 e a força de 0,22 a 0,85 não moveu a métrica. A razão é física — sob céu difuso e rugosidade 0,92, perturbar a normal quase não muda o sombreamento. Feltro real é variação de albedo entre fibras. Levando o ruído para a cor base, a métrica passou a responder e a superfície virou feltro.

material

Nenhum objeto igual ao irmão

As 16 esferas tinham Roughness 0.92 idêntico e a mesma cor por material. Object Info → Random alimentando matiz, valor e rugosidade faz cada esfera diferir das outras sem material novo. É o que separa “render” de “cena”.

luz

O sol do céu, não uma lâmpada

Adicionar uma lâmpada reduzia a direção da luz — inundava a cena, estourava 31% dos pixels e dessaturava a cor pela metade. O caminho certo era o sol que já existe dentro do Sky Texture: elevação 20°, intensidade 1,0. Calor e direção com 1,5% de clipping.

A regra que sustenta o resto

Densidade de fibra é proporcional à área na tela, não ao objeto. Colinas distantes com 18 mil fios liam 30,9 pontos mais claras que o primeiro plano; com 234 mil, a diferença caiu para 0,3. Superfície lisa sob a mesma luz sempre lê mais clara — valor e textura são o mesmo problema.

medido na cena, três vezes

O que caiu quando eu medi

Toda afirmação aqui passou por medição. Estas não sobreviveram — e é isso que vale registrar.

quatro rodadas perdidas

Ajustar um sistema desligado

Passei quatro rodadas afinando a nuvem — tipo de ruído, deslocamento, topologia, escala — com hipótese razoável e medição honesta em cada uma. O nó que eu ajustava não alcançava a saída. O sinal estava na mão: quatro valores muito diferentes davam resultado idêntico. Invariância total sob variação ampla é quase prova de desconexão.

nome suposto

Três sockets, três quebras silenciosas

Fac é Factor. O inputs[0] do Material Output é Surface, não Volume — plugar o volume ali renderiza preto. E Bright é Brightness. Cada um custou uma rodada inteira de diagnóstico falso.

régua incompleta

Medir luminância e esquecer saturação

Nesse eixo o AgX parecia vencer. Acrescentando saturação, perde por folga — dessatura 38% na grama e 74% na esfera. A documentação dizia isso desde o começo; a régua é que estava curta.

crash de GPU

Subsurface + HIP

Illegal address in HIP queue (integrator_intersect_subsurface). Por eliminação: zerar subsurface resolvia, mas os quatro métodos funcionavam em resolução baixa — logo não era o método. Fixar subsurface_method = RANDOM_WALK explicitamente resolveu em todas as resoluções.

Onde o custo estava de verdade

VariaçãoTempoCorta
cena completa131,3 s
sem o vidro106,7 s19%
sem a grama21,3 s84%
transmissão 2 em vez de 880,4 s39%

E o custo acompanha total de fios, não número de partículas-pai: com a mesma contagem final, a configuração recomendada é apenas 4% mais rápida. O ganho de “poucos pais” é velocidade de iteração, não de render.