Universidade Estadual de Campinas
Trabalho da disciplina IA-725 - Computação Gráfica
Professora: Wu Shin Ting
Autores: | Jose Elias Yauri Vidalon - elias@dca.fee.unicamp.br | |
Natasha S. D. Nakashima - sayuri@dca.fee.unicamp.br |
O objetivo da computação gráfica é criar imagens sintéticas de cenas virtuais através da simulação da propagação da luz. Na renderização de cenas um dos problemas cruciais a resolver é a visibilidade. Esta técnica permite visualizar cenas mais reais com reduzido tempo de processamento. A visibilidade é parte integral da interação da luz com o meio ambiente.
Os primeiros algoritmos procuravam determinar as linhas e superfícies visíveis em uma cena, eliminado as superfícies ocultas. Eles foram desenvolvidos para operar sobre os dispositivos vetoriais existentes naquela época. Com o nascimento dos dispositivos rasters, estes algoritmos foram substituídos por uma nova técnica: o algoritmo de Z-Buffer. Atualmente, existem duas abordagens algorítmicas de visibilidade. A primeira, o Z-Buffer, é utilizado para determinar as superfícies visíveis, sendo amplamente utilizado para renderizações em tempo real. A segunda, geralmente utilizada para o cálculo da iluminação global, é o traçado de raios, o qual calcula a visibilidade na direção de um raio projetado. Entretanto, além destas duas técnicas, existe uma ampla variedade de algoritmos de visibilidade para problemas específicos.
Neste trabalho será apresentado um histórico dos algoritmos de visibilidade, suas classificações, uma descrição dos principais algoritmos utilizados e a implementação de duas principais técnicas atuais: o Z-Buffer em OpenGL e o traçado de raio em PovRay.