POV-Ray
description
Transcript of POV-Ray
POV-Ray
Introdução à Multimídia
Equipe
• Augusto Cesar N L Filho – acnlf• Thiago de Moraes Brayner – tmb• Rafael Menelau Oliveira e Cruz – rmoc
Roteiro
• O que é POV-Ray?• Características• Ray Tracing• Exemplos• Prática• Páginas• Exercícios
O que é POV-Ray?
• POV-Ray (Persistence of Vision Raytracer)
• Ferramenta para renderização de imagens 3D de alta definição
• Atualmente na versão 3.6
• Ray Tracing
Características(1/2)
• Multi-Plataforma
• Linguagem de descrição de cena (SDL)
• Suporte à primitivas geométricas
• Suporte à técnicas avançadas de modelagem
Características(2/2)
• Vasta gama de bibliotecas– Objetos
– Texturas
• Suporte á vários tipos de fontes de iluminação
• Cálculo de Reflexão e Refração
• Simples e fácil de usar
Ray-Tracing(1/2)
• Técnica para renderização de imagens 3D
• Uso da técnica de Ray Casting– Lança um raio para cada pixel da imagem
• Simula a geometria óptica envolvida no trajeto de alguns raios de luz que viajam pela cena.
• Utiliza recursão para enviar os raios refletidos e transmitidos.
Ray Tracing(2/3)
• Fácil implementação
• Alto realismo
• Alto custo computacional – Complexidade
Ray-Tracing(3/3)
Exemplos(1/3)
Exemplos(2/3)
Exemplos(3/3)
OpenGL X POV-Ray
POV-RayOpenGL
Ambiente POV-Ray
Definindo da câmera
#include "colors.inc“ //Leitura de definições de cores#include "stones.inc“ //Definições de texturas de pedras
camera { // Definindo a posição da câmera location <0, 2, -3> look_at <0, 1, 2>} //declarando um planoPlane{
<a,b,c>, d //vetor normal ao plano e distância à //origem
}
Desenhando um objeto
//desenhando uma esferasphere { // Usando uma esfera <0, 2, 3>, 3 // Posição e Raio
texture { pigment { color Yellow //definindo a cor amarela
} }//aqui podem ser feitas transformações
} background { // Definindo a cor do fundocolor rgb <0,0,1> //outra forma de definir uma cor}
Definindo fonte de luz
light_source {
<1, 3, -5> // Posição da fonte de luz
color White // Cor da fonte de luz
}
Com luzSem luz
Outras primitivas
• torus • box• cone• plane• cylinder • triangle
Declarando um polígono
polygon {
12, //Número de vértices do polígono
<-0.8, 0.0>, <-0.8, 1.0>, //Desenhando a letra ‘P’
<-0.3, 1.0>, <-0.3, 0.5>,
<-0.7, 0.5>, <-0.7, 0.0>,
<-0.8, 0.0>,
<-0.7, 0.6>, <-0.7, 0.9>,
<-0.4, 0.9>, <-0.4, 0.6>,
<-0.7, 0.6>
pigment {
color rgb <1, 0, 0>
}
}
Transformações
• rotate <x, y, z> – rotate eixo*n
• translate <x,y,z>– translate eixo*n
• scale <x,y,z>– scale eixo*n
Texturas(1/3)
//definindo uma texturatexture { pigment { MyPigment } //declara o pigmento
//efeitos normal { MyNormal } //declara efeitos bumps, ripples,
waves finish { MyFinish } //propriedades do objeto
//transformações da textura scale <x,y,z> rotate <x,y,z> translate <x,y,z> }
Texturas(2/3)
pigment {//declaração do pigmento checker color Red, color Blue //textura em xadrez}
normal { //declara os efeitos bumps 0.4 //adicionando bump mapping scale 0.2 //escala}
Texturas(3/3)
//define as propriedades do objetofinish { diffuse 0.4 // Coeficiente de reflexão difusa ambient 0.2 // Coeficiente de reflexão da luz
ambiente phong 1 // controla a quantidade de
highlight phong_size 100 //tamanho do highlight reflection 0.25 //Coeficiente de reflexão}
Páginas
• Site oficial
www.povray.org
• Internet Ray Tracing Competition:
www.irtc.org
Exercícios(1/2)
• Teóricas:
– 1. Cite algumas caracteristicas do POV-Ray
– 2. Explique como funciona o Ray Tracing
Exercicios(2/2)
• Práticas:Para todas as questões envie o código e a figura com
o resultado.– 3. Desenhe uma cena contendo um plano como o
chão(usar textura em xadrez) e uma esfera. Lembre-se de adicionar uma ou mais fontes de luz
– 4. Adicione efeitos de bump, reflexão difusa, ambiente, highlight e reflexão.
– 5. Modifique a escala da esfera– 6. Execute translação da esfera no eixo z