quinta-feira, 16 de fevereiro de 2017

Atividade 2 - Interseção Raio-Triângulo


Após nos socializarmos com o Mitsuba, agora é a hora de começar a codificar o nosso próprio render, mas partindo de um template [RT-Template] com as funções básicas e a primitiva Esfera já implementados.
Como exercício foi solicitado a implementação da primitiva Triângulo, para isso foi necessária a leitura do Capítulo 10 do livro Realistic Ray Tracing de Peter Shirley que demonstra o algoritmo de interseção Raio-Triângulo.
Nós implementamos o algoritmo da maneira que foi instruído no livro e o resultado foi o esperado:


Depois adicionamos mais triângulos como foi pedido pelo professor:



sexta-feira, 3 de fevereiro de 2017

Tutorial: Instalando o Mitsuba no Ubuntu 16.04


A instalação do Mitsuba no Ubuntu 16.04 não é trivial como nas versões que possuem pacotes disponibilizado para download no site.

Antes de começar o processo, é necessário baixar os seguintes arquivos:

mitsuba e collada-dom: http://www.mitsuba-renderer.org/releases/current/trusty/
libpython3.4-minimal: https://launchpad.net/ubuntu/xenial/amd64/libpython3.4-minimal/3.4.4-2ubuntu3
libpython3.4-stdlib: https://launchpad.net/ubuntu/xenial/amd64/libpython3.4-stdlib/3.4.4-2ubuntu3
libpython3.4: https://launchpad.net/ubuntu/xenial/amd64/libpython3.4/3.4.4-2ubuntu3

Como os pacotes do Mitsuba e COLLADA são destinados para o Ubuntu 14.04 (Trusty Tahr), eles dependem de bibliotecas com versões específicas para o Trusty, e para as instalarmos temos que adicionar o repositório dessa versão, e para isso, basta por as seguintes linhas no terminal:

sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu trusty main"
sudo apt update


Com isso já se pode instalar o COLLADA

cd Downloads (pasta onde foram baixados os arquivos)
sudo dpkg -i collada-dom_2.4.0-1_amd64.deb
? sudo apt -f install

E também as bibliotecas do Python 3.4

sudo dpkg -i libpython3.4-minimal_3.4.4-2ubuntu3_amd64.deb
sudo dpkg -i libpython3.4-stdlib_3.4.4-2ubuntu3_amd64.deb
sudo dpkg -i libpython3.4_3.4.4-2ubuntu3_amd64.deb

Finalmente, com todas as dependências necessárias instaladas, pode-se então instalar o Mitsuba

sudo dpkg -i mitsuba_0.5.0-1_amd64.deb.








quinta-feira, 2 de fevereiro de 2017

Atividade 1 - Criar uma cena utilizando um Physically Based Renderer


Como primeira atividade nos foi designado escolher um dos seguintes renderers: PBRT e Mitsuba Renderer, ambos são Physically Based Renderers, ou seja, eles simulam a luz e todos os efeitos de iluminação usando fórmulas avançadas de física e assim fazendo com que a simulação seja fotorealista.

Primeiramente nós queríamos usar o PBRT, pois ele aparenta ser mais completo, devido à todo o trabalho que foi feito sobre ele. Mas depois de passar dois dias com problemas para instalá-lo tanto no Windows quanto no Ubuntu, nós decidimos usar o Mitsuba Renderer, pois ele nem necessitava de instalação no Windows e funcionava perfeitamente.

Primeiramente nós baixamos uma cena exemplo, para nos familiarizarmos com a interface do Mitsuba, e também para começar a compreender a sintaxe dos arquivos xml que ele usa como fonte para construir as cenas.

Após mexer bastante nesta cena nós criamos um arquivo novo e começamos de zero, criando e localizando cada objeto na nossa cena.

Nós produzimos duas cenas, a primeira mostra um modelo de um cavaleiro feito de ouro, com um retângulo abaixo dele para representar uma mesa de mármore, e duas esferas, uma luminosa e outra de material reflexivo (alumínio polido). Esta imagem explora bastante os efeitos visuais provocados pela reflexão da luz na armadura do cavaleiro que não é nada uniforme, espelhando a luz em vários ângulos, e também podemos ver a reflexão completamente uniforme na segunda esfera do que há ao redor dela, sendo distorcida por causa de sua forma:

Ornstein the Dragonslayer
A segunda imagem mostra uma miniatura de uma Esfinge feita de plástico colocada em um plano perto de uma parede, a mesma com um ponto de luz apontado diretamente para ela, projetando assim a sua sombra contra a parede:

Mesma cena mas com uma luz mais forte
Com isso pudemos aprender como manipular o Mitsuba, que servirá como base de comparação com o renderer que será desenvolvido durante o curso, e também pudemos entender melhor e presenciar como funciona um Rederer Baseado em Física.