Processo de Acabamento Virtual Professor: João Humberto

Transcrição

Processo de Acabamento Virtual Professor: João Humberto
Yaf(a)Ray
Processo de Acabamento Virtual
Professor: João Humberto Camelini
Email/MSN: [email protected]
Apresentação baseada no Yaf(a)Ray User´s Guide
O que é o Yaf(a)Ray?
‰ Yet Another Free
Raytracer - ninguém sabe
ao certo o que significa o (a)
‰ É Open Source e está
totalmente remodelado em
relação às versões
anteriores
‰ Complementa o Blender,
equipando-o para a
obtenção de imagens de
maior qualidade
‰ Mais sobre o Yaf(a)Ray:
http://wiki.yafray.org/bin/view.pl/UserDoc/YafaRay
Conceito de Open Source
Software cujo código fonte encontra-se aberto e
acessível para que os usuários possam alterá-lo
livremente, contribuindo desta forma para o
desenvolvimento de novas funcionalidades.
Quadro de Funcionalidades do Yaf(a)Ray
Conceito de Lighting Method
É o método de iluminação da cena, que determina
como o programa deverá processar as diferentes
luzes que o usuário definiu. É possível, por exemplo,
que o método considere apenas a luz direta no
cálculo da iluminação, ignorando os “rebatimentos”
nos objetos. Neste caso, é claro que o resultado será
de qualidade inferior.
Combinação de Recursos do Yaf(a)Ray
Integração com o Blender
‰ Depois de instalado, o programa gera um item no
menu Render do Blender, que permite que ele seja
executado, conforme ilustrado a seguir:
‰ É necessário instalar o Phyton 2.5 para rodar o
Yaf(a)Ray. Você pode baixar este programa neste
link: http://www.python.org/download/
Phyton
É uma linguagem de programação Open Source, que
é orientada a objetos. Pode ser executada em
Windows, Linux e Mac OS e sua instalação é
necessária para que o código do Yaf(a)Ray seja
“entendido” pelo seu computador.
Como é a “cara” do Yaf(a)Ray?
‰ O programa se divide em três áreas principais:
Object/Light/Camera, Material e Settings. Também
existem um botão de Help, um botão para Renderizar
(Render) e outro para atualizar a apresentação da
renderização na tela (Refresh):
O que significam estas opções?
‰ Settings: Com este botão, você poderá escolher o
sistema de iluminação a ser empregado e configurar
parâmetros gerais de renderização, como anti-aliasing
e fundo da tela.
‰ Material: Com esta opção, é possível selecionar um
material entre os disponíveis no Blender e aplicar as
propriedades dos materiais que o Yaf(a)Ray
disponibiliza.
‰ Object/Light/Camera: Esta opção reconhece qual o
tipo do objeto do Blender que está selecionado no
momento (objeto, luz ou câmera) e aplica sobre ele as
opções que o Yaf(a)Ray oferece. As opções de luzes
e câmeras, por exemplo, substituem quase todas as
que o Blender puro oferece.
O que significam estas opções?
‰ Help: Mostra um texto de ajuda bem simples.
‰ Refresh View: Em algumas situações, a
apresentação dos objetos na tela deveria mudar
quando uma opção do Yaf(a)Ray for selecionada,
mas isto não acontece. Neste caso, você deverá
pressionar Refresh para “forçar” esta atualização.
Clicando com o mouse numa área em branco também
produzirá o mesmo efeito.
‰ Render: Inicia a renderização da cena numa tela de
render separada, assim você pode ir acompanhando
o andamento do processo visualmente. Depois de
concluída a renderização, nesta própria tela é
possível salvar a imagem final.
Diversidade de Materiais do Blender usados dentro do Yaf(a)Ray
Configurações de Objetos
‰ Com esta opção, os objetos podem funcionar como
fontes de luz do tipo AreaLight. Este tipo de luz
produz sombras suaves e seu reflexo pode ser visto
nas superfícies com propriedades reflexivas que
estejam a seu alcance. Devido à sua relativa
complexidade, este tipo de luz demora bem mais para
ser renderizada, principalmente em comparação com
as luzes Spot e Point.
‰ O primeiro passo para utilizar este tipo de luz é
selecionar o objeto (mesh) que se pretende
transformar em fonte de luz. Depois deve-se clicar em
Object/Ligth/Camera e finalmente ativar o botão
Enable MeshLight, como está ilustrado na tela do
próximo slide.
Configurações de Objetos
‰ Para mudar a cor da
luz, basta clicar no
retângulo que fica
próximo de MeshLight
Color e escolha a cor
desejada.
‰Power: permite ajustar a intensidade da luz.
‰ Double Sided: Marque esta opção se quiser considerar
os dois lados das faces do objeto como AreaLight.
‰ Em Samples, você pode informar qual a quantidade de
amostras para calcular a luz. Quanto mais amostras,
mais demorado, entretanto melhor o resultado.
AreaLight Refletida no Monitor LCD
Configurações de Luzes
‰ É possível configurar a maioria das luzes no
Yaf(a)Ray. A parte do Blender é somente posicionar e
escolher o tipo desejado. Os parâmetros AreaLight
size e Spot Beam são controlados no Blender.
‰ Você pode controlar a intensidade da luz usando
os botões Power e Color do Yaf(a)Ray.
‰ Os parâmetros Distance e Energy do Blender não
afetam as luzes quando estas estão sendo
renderizadas utilizando o Yaf(a)Ray.
‰ Assim que a luz for criada no Blender, basta
selecioná-la e clicar Object/Light/Camera para que as
opções de configurações sejam apresentadas.
Luzes tipo Point e Sphere
‰ Quando uma luz Lamp é criada no Blender, você pode
escolher entre dois tipos: point e sphere.
‰ A luz Point é uma luz omni direcional, com sombras
bem marcadas e a luz Sphere é uma luz de formato
esférico, que pode produzir sombras suaves. Segue
ilustração dos parâmetros que podem ser ajustados:
‰ Light color: Cor
‰ Power: Intensidade
‰ Radius: define o raio
da esfera (para luz
Sphere)
‰ Make light visible: esta opção faz com que a luz
apareça na renderização
‰ Samples: Número de amostragens para obtenção
de sombras suaves.
Sphere Light
Luzes tipo Directional e Sun
‰ Ao trabalhar uma luz Sun do Blender dentro do
Yaf(a)Ray, você deve escolher entre dois tipos: Directional
e Sun.
‰ Directional: É uma luz solar tradicional, cujos raios são
paralelos, produzindo sombras bem marcadas.
‰ A luz Sun é um conceito mais avançado, que permite
gerar sombras com bordas desfocadas conforme a sombra
se afasta do objeto que a gerou, como é no mundo real. O
botão Angle determina a área visível do Sol, assim um
ângulo maior gera o efeito de um Sol maior e sombras
mais suaves, o que pode ser um efeito desejável em
algumas situações, como por exemplo a luz solar “filtrada”
por um tempo nublado. Seguem mais parâmetros que
podem ser ajustados no próximo slide:
Directional Light
Luzes tipo Directional e Sun
‰ Light Color: cor da luz
‰ Power: Intensidade
‰ Infinite: Se estiver acionada, esta opção faz a luz
Directional cobrir uma área infinita. Se estiver desabilitada,
a luz cobre um cilindro semi-infinito.
‰ Radius: Determina o raio do cilindro semi-infinito
mencionado no item anterior.
‰ Angle: Tamanho visível da luz tipo Sun. Afeta sombras.
‰ Samples: Número de amostras, como já explicado
anteriormente.
Sun Light
Luzes tipo Area e Spot
‰ A luz Area (AreaLight) já foi comentada nesta
apresentação. Resta lembrar que particularmente para
este tipo de luz é importante ligar a propriedade Make
Light Visible, pois uma das características mais
importantes desta luz é o fato dela ficar visível em faces
que possuem propriedades reflexivas.
‰ A luz Spot é um tipo basicamente pontual, com
propriedades direcionais, ou seja, pode ser apontada para
algo. As propriedades referentes ao feixe de luz (beam)
podem ser configuradas no Blender, como já foi
mencionado. Para isto, utilize os painéis SpotSI e SpotBI.
Spot Light
Câmeras
‰ Inicialmente, a câmera deve ser criada na sua cena e o
ângulo de sua lente deve ser ajustado no Blender.
Selecionando-a e usando a opção Object/Light/Camera,
automaticamente o Yaf(a)Ray deverá mostrar a seguinte
tela com propriedades:
‰ Escolha o tipo da câmera:
‰ Architect: É uma câmera que mostra a cena em
perspectiva, MAS deixando as linhas verticais nãoconvergentes.
Câmeras
‰ Angular: Usa lente angular e permite gerar imagens de
ambientes pequenos, fazendo-os parecerem maiores.
‰ Ortogonal: Gera uma vista perpendicular (ou seja, sem
efeito túnel, sem perspectiva)
‰ Perspective: É um tipo de câmera padrão, que simula as
lentes fotográficas, gerando efeitos de perspectiva. Nela, é
possível configurar o efeito Depth of Field (DOF), que já foi
discutido na aula anterior. Eis as suas configurações, que
serão comentadas no slide seguinte:
Câmeras
‰ Bokeh Type: Quando se usa DOF, esta opção permite
configurar o formato dos pontos na região desfocada.
‰ Bokeh Rotation: Rotação dos pontos desfocados.
‰ Aperture: Tamanho da abertura, que determina quão
desfocados ficarão os objetos fora de foco.
‰ Bokeh Bias: Determina onde estará a ênfase do
desfoque. Existem três opções: Uniform, Center ou Edge
(desfoque uniforme, maior no centro ou maior nas bordas)
‰ DOF Distance: Determina a distância na qual os objetos
estarão em foco. Os demais estarão desfocados.
‰ Obj: Informe aqui o nome do objeto do Blender que
deverá ficar em foco, em detrimento aos demais.
‰ Calculate Distance: Calcula a distância entre o objeto
informado no campo Obj e a câmera e coloca este valor no
campo DOF Distance.
Vistas em perspectiva e peça ortogonal
Distorções em ambientes pequenos causados por lentes angulares
Depth of Field (DOF)
Depth of Field (DOF)
Materiais
‰ Ao contrário do que acontece nas luzes, em que pouca
coisa se aproveita do Blender, os materiais são totalmente
obtidos na lista deste programa e apenas são aplicadas
sobre eles as propriedades do Yaf(a)Ray.
‰ Existem 4 tipos de materiais no Yaf(a)Ray, com várias
possibilidades para cada um deles:
Materiais
‰ Glass: vidro, água e vidro falso.
‰ Glossy: todos os tipos de plásticos, metais polidos e
ásperos, pintura de veículos, madeira lixada e
envernizada, superfícies pintadas, enceradas, vidraças,
superfícies orgânicas e materiais com reflexões
anisotrópicas.
‰ Coated Glossy: pinturas de veículos e superfícies
enceradas.
‰ Shnydiffusemat: pedra, metal enferrujado, concreto,
tecido, papel, madeira rústica, cortinas, espelhos perfeitos,
materiais com uma transparência básica, sistemas de
partículas etc.
Glass (com Refração e Reflexão)
Considerações sobre o Material Glass
‰ O material Glass pode ser particularmente útil quando for
necessário obter um material que represente um meio
transparente com um índice de refração (IOR). Este tipo de
material também é interessante para obter efeitos cáusticos
ou de espelho, a depender do ângulo de incidência da luz.
‰ Pode-se utilizar Glass
para obter uma sombra
com transparência falsa,
quando os raios cáusticos
não são fortes ou
uniformes o suficiente
para “acender” a cena que
esteja atrás de um objeto
transparente.
Refrações Positiva e Negativa
Considerações sobre o Material Glass
‰ A absorção é o processo pelo qual uma luz é
parcialmente absorvida por um meio, sendo outra parte
dela refletida ou refratada. Quanto mais a luz tem que
“viajar” dentro do meio, mais ela é absorvida por ele.
‰ Os ajustes de filtros não apenas determinam a cor da
luz refratada, como também afeta a cor do meio
transparente, da mesma forma que o parâmetro Absorp
Color (cor absorvida).
‰ Absorp Distance
controla quanto a luz
vai entrar no material
para sofrer absorção,
diminuindo a
intensidade de saída.
Considerações sobre o Material Glass
‰ Seguem mais opções deste tipo de material:
‰ Absorp Color: Cor da luz que não foi absorvida (que
sai). Escolher a cor branca equivale a desabilitar.
‰ Filter Color: Cor da luz refratada.
‰ Mirror Color: Cor da luz refletida.
‰ IOR: Índice de refração (já comentado na aula anterior)
‰ Transmit Filter: Força da luz refratada. Só vale quando é
escolhida uma cor em Filter Color.
‰ Dispersion Power: Força do efeito dispersivo.
‰ Fake Shadows: Se estiver ligada, esta opção ignora o
efeito da refração, gerando sombras transparentes se a
opção Transparent Shadows do comando Render também
estiver acionada.
Absorção de Luz – Absorp
Translucidez
Considerações sobre o Material Glossy
‰ Uma reflexão Glossy equivale a um efeito borrado, que
se deve a micro-rugosidades existentes na superfície,
como ilustrado a seguir:
‰ Este material permite a
obtenção do efeito anisotrópico,
já estudado em aula anterior.
Aqui, quando a opção de
anisotropia é acionada, surgem
diversas outras opções que
podem ser reguladas para se
obter o resultado desejado. No
próximo slide estão explicados
alguns dos parâmetros
ajustáveis para este material:
Considerações sobre o Material Glossy
‰ Diff. Color: cor da reflexão difusiva
‰ Glossy Color: cor da reflexão glossy
‰ Diffuse Reflection: quantidade da reflexão difusa.
‰ Glossy Reflection: quantidade da reflexão glossy.
‰ Exponent: Quanto a reflexão glossy estará borrada.
‰ Anisotropic: Habilita a reflexão anisotrópica. Exponent
Horizontal e Vertical configuram quanto será borrado na
horizontal (U) e vertical (V).
Efeito Anisotrópico
Considerações sobre o Material ShinyDiffuse
‰ Quando a opção
Mirror Strength é maior
que 0, uma nova opção
aparece, possibilitando
habilitar a reflexão do
tipo Fresnel, que
significa basicamente:
quanto maior o índice,
maior a reflexão obtida.
‰ Diffuse Color: cor da reflexão difusa.
‰ Mirror Color: cor da reflexão do espelho.
‰ Diffuse Reflection: intensidade de reflexão difusa.
‰ Transparency: Transparência básica (sem refração)
‰ Translucidez: Transparência parcial.
Reflexão
Reflexão com Difusão
Considerações sobre o Material ShinyDiffuse
‰ Transmit Filter: quantidade da luz que gera coloração na
sombra (tanto transparente quanto translúcida)
‰ Emit: quantidade de luz difusa que o material emite.
‰ IOR: Índice de refração.
Configurações do Render
‰ É possível configurar até 5 perfis de render no
Yaf(a)Ray. Os 5 perfis podem ser renomeados e cada um
pode ter um padrão de qualidade diferente.
Configurações do Render Æ Métodos de Iluminação
‰ Existem 4 métodos de iluminação no Yaf(a)Ray.
Bidirecional, Pathtracing e Photon Mapping executam a
chamada Global Illumination (luz direta + indireta,
conforme estudado na aula anterior), enquanto Direct
Lighting leva em conta apenas a luz emitida diretamente.
‰ Seguem breves comentários sobre os métodos de
iluminação disponíveis:
Configurações do Render Æ Métodos de Iluminação
‰ Path Tracing: método obsoleto, que traça o raio de luz
saindo da câmera até alcançar a fonte de luz. Só quando
esta é encontrada o programa calcula a sua contribuição,
levando em conta as características de cada superfície
visível. O método é adequado para situações em que há
boa iluminação (outdoor ou com amplas janelas no
ambiente). Não se mostra adequado para a obtenção de
efeitos cáusticos, pois exige um número muito elevado de
amostras, o que aumenta o processamento:
Configurações do Render Æ Métodos de Iluminação
‰ Photon Mapping: é um algorítmo de Global Illumination
que calcula o fluxo da energia luminosa pela cena.
Pacotes de luz (fótons) são emitidos pelas fontes de luz e,
ao encontrarem superfícies, calculam as coordenadas do
ponto, a energia resultante e a direção da fonte.
Posteriormente, ocorre a triangulação dos pontos e o
cálculo por interpolação da energia ao longo das faces.
‰ Quando o cálculo da energia num ponto qualquer é
realizado, o programa procura um fóton nas proximidades,
dentro de um raio definido pelo parâmetro Diff. Radius.
Final Gather
Configurações do Render Æ Métodos de Iluminação
‰ Depth: número máximo de reflexões (bounces) e
refrações. Quanto maior este valor, mais realística será a
cena e mais demorado será o processamento.
‰ Photons: Número de fótons
a serem emitidos pela fonte de
luz para posterior interpolação.
Quanto maior o número,
menores serão os triângulos e
maior a precisão.
‰ Este método de iluminação
é o mais adequado para a
obtenção de efeitos cáusticos.
Configurações do Render Æ Métodos de Iluminação
‰ Direct Lighting: Quando este tipo de iluminação é
utilizado, apenas as luzes que vêm diretamente das fontes
são consideradas. Para este tipo de luz, existe uma opção
para ativação de efeitos cáusticos:
‰ Photons: número de fótons a serem emitidos para o
cálculo do efeito cáustico.
‰ Caustic Depth: número máximo de refrações cáusticas
‰ Caustic Mix: número de fótons a serem “misturados”
para obtenção do efeito “borrado”.
‰ Caustic Radius: quantidade de borrado
Efeito Cáustico
Configurações do Render Æ Métodos de Iluminação
‰ Ambient
Occlusion (AO): é
um método de
shading que leva
em consideração a
atenuação da luz
devido à oclusão
(fechamento,
afunilamento).
Ambient Occlusion (observar a cama)
Configurações do Render Æ General Settings
‰ Raydepth: número máximo de rebatimentos de raios
para o cálculo do Raytracing recursivo.
‰ Shadow Depth: número máximo de rebatimentos para o
cálculo das sombras.
‰ Gamma: ajusta a resposta dos mecanismo de render à
luz para adequação ao display. Para o Windows, o valor
padrão de gamma é 2.2, enquanto para Macintosh e Linux
o valor mais adequado é 1.8.
‰ Transparent Shadows: Permite a obtenção de sombras
falsas no material Glass (isto já foi comentado).
Configurações do Render Æ General Settings
‰ Clamp RGB: Reduz o brilho das cores para obtenção de
um melhor efeito anti-aliasing.
Clamp desabilitado
Clamp habilitado
‰ Threads: divide o cálculo de renderização em dois ou
mais processos simultâneos (para propósitos de
multiprocessamento)
‰ Clay Render: ignora todos os materiais e gera uma
renderização “em argila”.
Configurações do Render Æ General Settings
‰ Output to XML: A cena é gravada num arquivo XML do
Yaf(a)Ray. Todos os parâmetros ajustados são
armazenados neste arquivo (boa forma de guardar uma
configuração sem gerar um arquivo grande).
‰ Draw Render Params: Os parâmetros de render são
escritos sobre a imagem, assim quando você postá-la num
fórum os outros poderão saber quais ajustes foram feitos
para se obter aquele resultado final.
‰ Custom String: Insere um texto de sua escolha no que
será escrito no item acima.
Draw Render Params
Configurações do Render Æ Anti-Aliasing Settings
‰ Existem três tipos de filtros anti-aliasing: Box, Gauss e
Mitchell.
‰ O filtro Box não apresenta o risco de amplificar o ruído
da amostragem, mas sua qualidade é questionável.
‰ O filtro Gauss pode deixar como resíduo pequenos
problemas nas bordas dos objetos, mas sua qualidade é
um pouco superior.
‰ Mitchel é sem dúvida o filtro
que processa o máximo de
detalhes.
Anti-Aliasing
Configurações do Render Æ Anti-Aliasing Settings
‰ Estas são as
configurações de AntiAliasing disponíveis:
‰ Pixelwidth: quanto maior o valor deste parâmetro, mais
suave ficará a imagem.
‰ AA Samples: define o número de amostras a serem
aplicadas na primeira passagem do filtro.
‰ AA Inc. Samples: define o número de amostras a serem
aplicadas nas passagens subseqüentes do filtro.
Configurações do Render Æ Background Settings
‰ Existem 4 tipos de fundos, que são os seguintes:
Sunsky, Texture, Gradient e Single Color
‰ Fundo Sunsky: Reproduz um céu realístico, com suas
variações de cores.
‰ Fundo Texture: Permite que uma textura seja utilizada
como fundo. Você também pode também utilizar isto como
uma fonte de luz (basta usar o botão IBL On/Off). O
objetivo principal desta opção é permitir o uso de imagens
HDRI para iluminar a cena. O botão Rotation permite
rotacionar a textura, e IBL Samples possibilita regular a
intensidade de emissão de luz da imagem.
Background Sky
Background Texture
Configurações do Render Æ Background Settings
‰ Para utilizar texturas é necessário carregá-las usando
os botões Blender Texture.
‰ Fundo Gradient: Usa um gradiente de duas partes, uma
representando o céu e outra a terra, divididos na linha do
horizonte da câmera. O botão Power pode ser utilizado
para multiplicar a intensidade da cor de fundo.
‰ Fundo Single Color: Uma única cor.
Background Gradient
Dúvidas?

Documentos relacionados

Ray Tracing Interactivo - Departamento de Informática

Ray Tracing Interactivo - Departamento de Informática (critério de subdivisão), os triângulos vão sendo divididos pelas sub-árvores esquerda e direita até que o número de triângulos seja inferior ou igual ao valor previamente definido (critério de par...

Leia mais