FUNDAMENTOS DE COMPUTACION GRAFICA Jessica Palomares RAY TRACING FUNDAMENTOS DE COMPUTACION GRAFICA Jessica Palomares
Motivação Este trabalho baseou-se nas notas de aula e em os exemplos da web da matéria.
Descrição O programa permite primeiramente carregar cenas tridimensionais compostas de objetos, câmeras, luzes. Pode-se também girar a câmera com a cena em um modo de renderização rápida OpenGL em wireframe. Uma vez escolhida uma certa vista da cena, pode-se ainda realizar o processo de rastreamento de raios para renderizá-la com efeitos de luz, sombra, especularidade, reflexão, transparência.
Introdução Raytracing é basicamente uma tentativa de imitar a natureza: as cores que você vê são raios de luz lançados pelo sol (provavelmente), saltando em torno do cenário detalhado da natureza e, finalmente, batendo no seu olho.
Implementações: Modelagem da camera Modelagem dos Objetos Sphere , box Modelo de Iluminacao de Phong Reflexao difusa, especular, ambiente Rasterização em OpenGL Modelagem e Movementação da camera.
Síntese de imagens Pixel (RGB) eye Luz Câmara Iluminação ye ze Objetos yo xo zo
Algoritmo Básico Para cada pixel da tela; Lance uma raio; Para cada objeto da cena Calcule a interseção do raio com este o objeto; Armazene a interseção mais próxima; Se o raio interceptou algum objeto Calcule a contribuição das luzes neste ponto; Pinte o pixel com esta cor;
Modelagem em OpenGL Para fazer esta tarefa simplemente se utilizou-se as ferramentas do programa e também para debuxar as primitivas na cena. Modelagem da câmera: gluPerspective Primitivas : Esfera => glutWireSphere Cubo => glDrawElements a partir de um array de pontos
Movimentação da câmera baseou-se na equação da esfera: O programa faz os câmbios em a câmera do OpenGL e também em a câmera modelada por OpenGL, os pixels são pintados pelo raytracing. Fuente: http://en.wikipedia.org/wiki/Spherical_coordinate_system
Demo:
Exemplos do Programa do rastreamento de raios: Diffuse and ambient Ambient, diffuse and specular
Ambient, diffuse , specular, transparency and opacity
Referencias Notas de aula http://www.opengl.org/code/detail/glut_tuto rial/ http://www.inf.pucrs.br/~manssour/OpenGL /Tutorial.html