Terceiro Trabalho
Aplicação de textura e iluminação em objeto modelado
Os processos apresentados são descritos abaixo:
· Modelagem Geométrica: Descrição de um objeto por meio do cálculo da posição dos seus vértices e seus respectivos vetores normais;
· Cenas: Mudança do sistema de referência, permitindo que o modelo seja visualizado a partir de qualquer ponto de vista do espaço (posição da câmera);
· Projeção: Aplicação da geometria projetiva, mapeando os pontos do volume calculado para os pontos do plano de projeção;
· Imagem Contínua: Determinação da luminância ou brilhância de cada ponto da imagem considerando que existam fontes luminosas pertencentes ao modelo;
· Imagem Discreta: Como o dispositivo de saída é um dispositivo raster (possui número limitado de pontos), somente alguns pontos serão representados;
· Imagem Digital: A luminância de cada ponto amostrado da imagem deve pertencer a uma faixa limitada e sub dividida em valores inteiros.
Texturização
Visando produzir imagens mais realistas, técnicas de texturização são utilizadas para representar pequenos detalhes cuja modelagem é extremamente custosa (tanto em tempo quanto em memória que será utilizada) ou a rugosidade do material que está sendo modelado.
A menor entidade de textura é denominada TEXTEL (texture element). Estes elementos possuem valores de intensidade luminosa distribuídos de tal maneira que estando posicionados de maneira contígua, representam características superficiais de diversos materiais.
Apresentação do aplicativo
Manual do usuário
O objeto modelado representa o logotipo da Unicamp, desenvolvido no Primeiro Trabalho.
A rotação do objeto pode ser alterada pressionando as teclas X, Y ou Z. Estes movimentos causam o incremento de 5° nos eixos X, Y e Z, respectivamente.
Deve-se notar que a posição inicial dos eixos é configurada da seguinte maneira na janela:
Para retornar o objeto para seu estado inicial, o item Posição Inicial do menu Arquivo deve ser clicado. Da mesma maneira, a tecla Esc retorna o objeto à sua posição original.
O menu Ajuda possui informações sobre a condução do programa e os elaboradores:
Iluminação
O modelo de iluminação, apresentado no Primeiro Trabalho, foi utilizado com o posicionamento de uma fonte luminosa ao longo do eixo Z, direcionado para o centro da circunferência menor [0, 0, 0, 1]t.
As tabelas abaixo mostram as características da fonte luminosa e do material utilizado, decompostas pelo modelo tricromático RGB:
LIGHT0 | X | Y | Z | W |
Posição da fonte | 0 | 0 | -3 | 1 |
Direção da fonte | 0 | 0 | 1 | 0 |
LIGHT0 | R | G | B | a |
Ambiente | 0,3 | 0,3 | 0,3 | NA |
Difusa | 0,5 | 0,5 | 0,5 | NA |
Especular | 0,8 | 0,8 | 0,8 | NA |
Material | R | G | B | a |
Ambiente | 0,8 | 0,8 | 0,8 | 1 |
Difusa | 0,8 | 0,8 | 0,8 | 1 |
Especular | 0,2 | 0,2 | 0,2 | 1 |
Técnicas de texturização
Função Modificadora: Decalque
Uma das técnicas utilizadas para aplicar a texturização sobre elementos, consiste na troca da cor dos pixels por valores de intensidade (luminância ou brilhância) definidos nos textels. Esta alteração não considera o valor original da cor do pixel.
Função Modificadora: Modulação
A técnica da Modulação utiliza a máscara definida (textel) como valor de pesos que será multiplicado pela intensidade de cada pixel analisado. Como o modelo de iluminação está sendo utilizado neste aplicativo, esta função modificadora foi escolhida para aplicar a textura sobre o objeto modelado.
Textura utilizada
A máscara de textura utilizada consiste em um reticulado quadrado, com 64 linhas e 64 colunas.
Para cada uma das 4096 sub unidades que compõem este textel, valores aleatórios no intervalo [0; 1] multiplicam as componentes Vermelho (R), Verde (G) e Azul (B) recebidas como parâmetros desta sub-rotina.
Esta modulação dá a impressão de uma superfície rugosa, pois existem várias pequenas regiões escuras em contraste com várias pequenas regiões com alta brilhância.
Tratando-se de um paradigma procedural, a troca da cor dominante é feita de forma simples, pois uma nova matriz (textel) é calculada e os próximos elementos construídos herdarão estas características, seguindo a utilização da máquina de estados implementada no OpenGL. Desta maneira, os cilindros são predominantemente vermelhos e o restante azul.
Resultados obtidos
As imagens mostram a seqüência do logotipo visto pela frente e depois rotacionado de 180°, em relação ao eixo Y. Deve-se notar que a fonte de luz está posicionada à frente do objeto.
Arquivo Executável | Código Fonte |
Última atualização: segunda-feira, 30 de junho de 2003