Introdução à Multimídia 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 OpenGL POV-Ray
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 plano Plane{ <a,b,c>, d //vetor normal ao plano e distância à //origem
Desenhando um objeto //desenhando uma esfera sphere { // 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 fundo color 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 } Sem luz Com 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> translate <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 textura texture { 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 objeto finish { 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