Anti-aliasing no Yaf(a)Ray


Esse é um post explicativo sobre o sistema de anti-aliasing do Yaf(a)Ray. Apesar de existir uma página na documentação do Yaf(a)ray que é a melhor explicação possível de como funciona esse sistema, ainda vejo bastante gente com dúvida e fazendo coisa errada nesse sentido, então resolvi dar uma explicação em português de como funciona isso. Claro, é uma explicação bem amistosa, mas que produziu resultados bem contundentes comigo.

O que é Aliasing?

Aliasing pode ser entendido como serrilhado, na linguagem popular. Mas na realidade, aliasing é um nome dado a uma pobre pixelização de uma imagem. Anti-alising é a técnica que evita esse efeito.

Existe também outros problema relacionados ao alias (texturas, pequenos detalhes, luz…), porém esse é realmente o mais comum em nosso mundo. As técnicas de anti-alising tomam mais tempo de render pois são elas que eliminam esses serrilhados e granulados na imagem. Existem também vários filtros, mas no Yaf(a)Ray nós temos três: Gaussian, Box e Mitchell. Não há tanta necessidade de saber como funciona cada filtro, basta ver uma imagem e saberá o que cada um faz. Agora vamos entrar nas explicações de como usar o AA no Yaf(a)Ray…

Leia Mais…

Anúncios

CG x Realismo


Computação gráfica 3D x Foto-realismo. Um assunto um tanto quanto comum em artigos/tutoriais e muito frequente na cabeça dos usuários que, geralmente, não sabem o segredo de como dosar os dois. Porque é tão difícil trazer harmonia as duas coisas juntas? E, se existem tantos tutoriais, porque eu não consigo fazer um render assim? A verdade é que: não há segredo. Sim, não existe segredo. Se existe, ou nome dele é experiência ou ninguém soube decifrá-lo.

Primeiro vamos tentar definir o foto-realismo. Foto-realismo, segundo a Wikipedia, “é o genero de pintura baseado em uso de câmera e fotografia para “puxar” informações e, dessa informação, criar uma pintura que pareça muito com uma fotografia.” Transcrevendo isso para 3D: é o genero de imagem baseada em  aproximações físicas a partir de imagem/estudo científico e afins e, a partir de tais informações, criar uma imagem/modelo que pareça muito com o que vemos. Ou seja, foto-realismo não é só render, esculturas digitais, por exemplo, são geralmente foto-realistas. Por isso devemos dar atenção especial a cada detalhe. Mas vou falar sobre render, que é o foco do meu Blog. Ultimamente venho pensando bastante sobre isso: o que eu faço pra um render ser foto-realista? Tudo o que eu falar agora faz parte do meu workflow de renderização e do que eu penso e isso varia de artista para artista, portanto, pode variar do que você lê por ai. São dicas!

  1. Materiais, texturização e iluminação – Não consigo classificar qual deve vir primeiro, mas a verdade é que os três se complementam. Porém eu gosto de dar atenção especial aos materiais. Para falar a verdade, eu tenho uma doença: quando estou fazendo um projeto pessoal, fico vendo as coisas e reparando quais as características dessa e daquela superfície. E sobre iluminação eu não preciso nem comentar né? Mesmo vício que eu tenho de ficar vendo as coisas para “identificar” os materiais, tenho para ficar vendo sombras e etc. Que Nerd, hahahahaha… não sou assim não.
  2. Pós-produção – Você é um daqueles caras que “gostam do render como sai do forno”? Para com isso… Pós-produção é essencial em um render foto-realista. Mas claro, não estamos falando de Pintura Digital, e sim de correção de cor/gamma e etc. Um render com pós-produção é bem mais impactante que um render sem pós-produção.
  3. Modelagem – Por último, mas não menos importante. Coloque alguns cubos empilhados e tente convencer uma pessoa que é um sofá… não dá certo. Proporção dos móveis também é importante. Sem falar que a escala é de extrema importância para renderizadores. Vamos ver isso mais a frente.

Não citei o renderizador pois quero ser imparcial nesse post, mas é, sem dúvida, a parte mais importante de se atingir o foto-realismo mais facilmente. Alguns renderizadores possuem características únicas ou mais avançadas que outros. Mas no geral, todos nós usamos bons renderizadores e pra todos eles é preciso conhecer cada tópico que eu citei para se conseguir um bom render. Citei também os tópicos de acordo com a importância, mas a verdade é que não existe o mais importantes, todos os fatores dependem entre si. Render foto-realista não existe sem uma boa modelagem, ou uma boa iluminação, pós-produção… Enfim, todos são mutuamente dependentes.

Definitivamente, não sou o melhor, mas posso dar umas dicas para vocês de como deixar seu render arquitetônico mais realista. Lembrando que são dicas, e não fórmulas!

Leia Mais…

Consulta pública referente a Associação


Hoje o post é um pouco diferente, mas eu estou realmente muito animado com isso. O texto é de Ivan Paulos Tomé, conhecido como Greylica, onde ele expõe o interesse de criar uma Associação de Usuários Blender do Brasil. É um texto sério, com objetivos grandiosos e pioneiros aqui no Brasil.

Olá colegas Blendeiros.

Nesses últimos 5 dias temos entrado em muitas conversas com diversos setores de utilização do Blender, para conversar sobre a abertura de uma Associação de Usuários Blender do Brasil. Todos os setores foram escutados, opiniões diversas e sentimentos mixados foram levados em conta, e procuramos resumir todos os principais pontos em um documento que estará pronto em breve. Leia Mais…

YafaRay Annual Contest – 2010


Todo ano o site oficial do Yaf(a)Ray promove um contest com bons prêmios. Esse ano, o tema é abandoned classics, ou podemos dizer que o tema é objetos abandonados. O contest começou dia 14 de Junho e vai até o dia 31 de Julho, esse mês.

A corefarm.com está patrocinando o contest. O prêmio para o primeiro lugar é um livro de CG ou um DVD indefinido, porém “consistente”, como diz o site, e 1000 créditos (equivalente a $ 90) na corefarm.com.

Se você tem tempo livre a tarde e vontade de participar, dá pra conseguir terminar hein!

Yaf(a)Ray 0.1.2 Beta


É pessoal, já devem ter percebido que eu não faço posts semanalmente, e sim mensalmente. Não por falta de notícia, mas por falta de tempo, cansaço e falta de vontade, talvez… O meu trabalho mudou muito o modo como eu vivia, estou completamente diferente nesse sentido. Enfim, vamos a, possivelmente, melhor notícia do mês. Olha que ele ainda nem começou…

A versão beta do Yaf(a)Ray 0.1.2 foi lançada no dia 30 de Junho no fórum do site oficial através do Samo, mantenedor do site/fórum e responsável pela documentação do programa, a fim de conhecer e corrigir os possíveis, e certos, bugs da versão. Se você não sabe, beta é uma palavra usada pra dizer assim: “não vai haver mais nada de novo no código, só correção de bugs.”.

Particularmente, fiquei bobo quando vi as novas features do Yaf(a)Ray. Ao meu ver, realmente muito úteis… Na verdade, já havia testado algumas na versão que o pessoal disponibilizava, mas depois me privei de acompanhar o desenvolvimento para ter essa surpresa e aumentar a paixão que tenho pelo render. As melhores adições do YaR 0.1.2 ao 0.1.1, para mim, foram:

  • IES lights;
  • Renderização de partículas;
  • Desvinciliação do Mapa de Cáustico do Mapa de Difusão;
  • Opção de atirar somente fótons da Spot Light e softshadow para a mesma;
  • Novo shader: Rough glass (vidro jateado);
  • Normal Map;
  • Portal Light;
  • FG para cáustico – juro que não sabia que existia…
  • Zdepth.

Bom, cada função tem seu peso para cada usuário, mas gostei muito de podermos configurar o mapa de cáustico separado do mapa de fótom. A melhora é gigantesca! Geralmente, o diff. radius do cáustico tem que ser pequeno e nem sempre o diff. radius do fotom de difusão precisa ser pequeno, então agora temos essa dependência. Luzes fotométricas nem preciso falar né? Melhoria enorme no realismo de cenas arquiteturas internas. Partículas então?! Não precisaremos perder mais tempo mexendo no material do tapete, acredita? haha! Outra coisa interessante e que eu não conhecia é o FG para o Mapa de cáustico. FG vem de Final Gather e, pra resumir, FG é uma otimização do mapa de fótom. A consequência você já sabe… O que fariamos sem a lógica?! Enfim, os outros valores são bem importantes e interessantes, vão subir ainda mais o nível de realismo do Yaf(a)Ray.

Um avisinho: como alguns sabem, estou produzindo um curso de Yaf(a)Ray do básicão ao avançado. Bom, finalmente comecei a gravação dos tutoriais, porém me senti mais inseguro com essa notícia justamente por não saber quando os vídeos ficarão prontos. Não sei se antes da versão 0.1.1 ou depois. Se eu fizer os vídeos baseado na versão 0.1.1, pode ter o agravante de demorar a sair o up quando a versão 0.1.2 sair… Sei que são poucas pessoas que leem o blog, mas adoraria saber a sua opinião sobre isso: Devo gravar os vídeos com a versão 0.1.1 ou esperar até lançar a versão 0.1.2?

CoreFarm.com e CoreFarm.org


Alguns poucos usuários devem saber da existência de uma render farm para o Yaf(a)Ray, mas sim, ela existe. Imagine uma empresa distribuindo dois serviços: um baseado em trocas e outros pago. É a CoreFarm, do Francês William Le Ferrand. Existem dois serviços: corefarm.org e corefarm.com, o de “graça” e pago, respectivamente. Na verdade, a corefarm.org já existe há um bom tempo, mas não era completamente estável. Eu mesmo nunca consegui usá-la, mas conheço gente que já conseguiu.

CoreFarm.org → Baseada na versão 0.1.1 do Yaf(a)Ray, é uma render farm onde você pode renderizar suas imagens gastando créditos, mas sem pagar nada. Esses créditos são adquiridos através de compartilhamento de CPU.

CoreFarm.com → Baseada na versão 0.1.2 do Yaf(a)Ray, é uma render farm com fins comerciais onde você pode renderizar suas imagens gastando créditos que, logicamente, custam dinheiro.

Bom, vamos a mais detalhes…

Leia Mais…

Yaf(a)Ray e o GSOC


GSOC é a sigla de Google Summer of Code. O GSOC é um projeto da anual (acontece entre Maio e Agosto), onde a Google “banca” os estudantes que conseguirem completar a tarefa proposta para implementar uma função em um software livre ou Open-Source. GSOC é basicamente isso. Algumas ferramentas existentes no Blender são fruto de projetos do GSOC. Somente estudantes acima de 18 anos e matriculados em uma faculdade.

Este ano vários programas que nós conhecemos bem estão inscritos no programa, entre eles o meu querido Yaf(a)Ray. Esse ano o objetivo é implantar ferramentas de técnica atuais de renderização. Ótimas idéias foram apresentadas, veja abaixo a lista de quais foram:

  • Subsurface Scattering
  • Adaptive sampling para Final Gather
  • Adaptive caching e neighbor sampling
  • Energy Redistribution Path tracing
  • Progressive Photon Mapping
  • Fourier Space Sampling Techniques, por Frédo Durand
  • Micro-Rendering for Scalable, Parallel Final Gathering
  • Support for Open Shading Language (OSL)
  • Blender 2.5 Integration;
  • Nodes editor para texturas e materiais;
  • Raytraced Motion Blur;
  • Script de exportação para um programa CAD ou outro programa 3D.

Eu fiquei babando quando li tudo. E o projeto do Yaf(a)Ray foi aprovado! E as que mais me chamaram a atenção foram: Adaptive Sampling para FG, Progressive PM, suporte a OSL, Nodes editor com QT e o script de exportação para outras plataformas. O script está sendo desenvolvido para o Maya. Genial a idéia, não?

  • Adaptive sampling para FG (final gather): Imagina você poder controlar o número de samples na sua cena, de modo específico? Ou seja, controlar a quantidade de samples entre uma superficie e outra, nos cantos… O tempo de render diminuirá, e muito. Hoje controlamos de um modo mais geral… Ditamos a quantidade de samples e os samples são aplicados para toda a cena. Agora imagine a situação: entre o sofá e a parede você precisa de X samples ara ficar sem ruído. Porém o teto precisa somente de X/2 samples para ficar “completamente” sem amostra (noise). É basicamente isso que vai acontecer. Mas claro que não é tão mágico como eu disse…
  • Progressive PM (photon map): O método de mapeamento de fóton do Yaf(a)ray é um tanto quanto desperdiçador de tempo. Isso porque ele mapeia toda a cena, e você não vai precisar mostrar toda a cena em um só render. Com essa nova opção iremos calcular somente o que será mostrado na cena!
  • Suporte a OSL: Poderemos montar materiais novos e compartilhar com a comunidade! Imagina você poder fazer um material parecido com uma foto de raio-x? Teremos tal possibilidade sem o uso de nodes ou outra coisa. Porém é preciso saber a linguagem!

Creio que os outros vocês podem deduzir o que é… Bom, é claro que nem todas as ideias serão finalizadas, mas só de ler já é animador! Detalhe: Um brasileiro também está desenvolvendo um script de exportação do Yaf(a)Ray para o Blender 2.50, o nome dele é Victor Oliveira e estuda na UNICAMP, de Campinas. Manda bala, Victor!

Para mais detalhes, visite esse link. Caso queira ver a proposta de cada estudante e o que ele vai desenvolver, acesse esse outro link.