Cederj Computação Vice Presidência de Educação Superior a Distância
Por: Rômulo Alves • 29/8/2018 • Trabalho acadêmico • 768 Palavras (4 Páginas) • 177 Visualizações
[pic 1]
Fundação CECIERJ - Vice Presidência de Educação Superior a Distância
Curso de Tecnologia em Sistemas de Computação
Disciplina: Computação Gráfica
AD2 - 1° semestre de 2013.
- O são Vertex Shaders e Pixel Shaders? Dê um exemplo de efeito que pode ser atingido por cada um. (1.0 ponto).
Vertex Shaders são programas que são programados e carregados para a GPU e interferem de alguma forma o estagio de geometria do pipeline gráfico. Efeitos possíveis com esta estratégia são texturas procedurais e diversos modelos de iluminação por vértice. Pixel shaders são programas que alteram o estagio de rasterizacao. Efeitos possíveis são bump-mapping e especularidade.
- Escreva a matriz de projeção ortogonal e perspectiva e justifique porque esta transformação não possui inversa (e portanto não pode ser “desfeita”). Explique a diferença das duas projeções (1.0 ponto).
A Matriz ortogonal é dada por:
1 0 0 0
0 1 0 0
0 0 0 0
0 0 0 0
A perspectiva é dada por:
[pic 2]
Esta matriz tem dereminante igual a zero, portanto não é inversível, portanto não pode ser desfeita.
- O que é o Culling de Polígonos? Fale brevemente sobre as Octrees. (1.0 ponto).
Culling de polígonos consiste em descartar polígonos que não são visíveis para a câmera, seja por razoes de oclusao ou por razoes de estarem fora do câmera frustum. As Cotrees são estruturas hierárquicas que dividem um espaço em 8 sub-espacos, através de um plano alinhado com cada eixo cartesiano. Esta divisão ocorre ate algum critério ser atingido, tal como um numero máximo de polígonos dentro de um volume.
- Explique a diferença entre ilumiunação por pixel e iluminação por vértice (1.0 ponto)
Na iluminação por pixel, aplica-se a equação de iluminação (por exemplo, Phong) para cada ponto de superficie de um objeto que corresponde sua projeção num dos pixels da tela. Já na iluminação por vértice aplica-se o cálculo de iluminação para cada vértice, independente de sua projeção na tela. No estágio de rasterização será feita uma interpolação das cores dos vértices, preenchendo o interior do polígono.
- O que é Environment Mapping? Porque a usamos? (1.0 pontos)
O reflexo real consiste em traçar um raio que simule a reflexão de um raio de luz para um determinado ponto da superfície, sendo necessário calcular a interação deste raio de reflexo com a cena, para ver qual a luz que chega. Para isto, deve-se calcular a iluminação outra vez, apenas para detectar a contribuição de reflexo. O Environment mapping consiste em substituir este cálculo de reflexo por uma textura conhecida: ao traçar o raio de reflexo, ao invés de calcular outra vez a iluminação e a interação deste raio com a cena toda, calcula-se apenas uma projeção de textura para ele.
- O que é a linguagem CUDA para GPUs? (1.0 ponto)
As GPUs se tornaram genéricas o suficiente para poderem executar programas que não são necessariamente etapas do pipeline gráfico. A linguagem CUDA foi criada para poder acessar a GPU de forma mais genérica e poder integrar com programas convencionais.
- O Ray tracing é um ótimo método para renderizar funções implícitas. Explique (1.0 ponto).
O Ray tracing, por realizar um cálculo exaustivo de interseções com a geometria da cena, pode usar neste cálculo equações que não sejam necessariamente de polígonos, mas de outras superfícies. Na rasterização isto é praticamente impossível, devido ao pipeline baseado em vértices e interpolação de polígonos.
...