As imagens apresentadas abaixo foram obtidas depois de alterar os parâmetros de iluminação e de cor, objetivando simular uma superfície metálica e não através da aplicação de uma textura, como explicado na seção "comentários" acima.
Na imagem à esquerda estão apresentados um objeto quadrilateral e um objeto triângular que foram texturizados usando uma textura reticular em preto e branco.
Estrutura básica de um programa para aplicar textura (download do programa - projeto 3) void generate_texture() { - gera a textura a ser aplicada; } void init(void) { - cor de fundo; - parâmetros da textura; } void display() { - chama a função para gerar textura; - estebelece os vértices de correspondência entre o espaço de textura e o espaço de objeto; - desativa textura; } void reshape(int w, int h) { - definições de glViewport e glOrtho; } void main(int argc, char** argv) {} Resultados
Descrição do projeto 3 Aplicar textura no logotipo da Unicamp que foi modelado no projeto 1. Ferramentas utilizadas Visual C++ 6.0, Rational Rose 4.0, APIs OpenGL e as bibliotecas auxiliares GLU e GLUT segundo a implementação Mesa 5.0. Comentários Este projeto não foi completamente realizado. Para a aplicação da textura é necessário uma função de mapeamento bem definida entre o espaço de textura e o espaço do objeto. Foram texturizados vários outros objetos usando a correspondência de 3 e de 4 vértices entre o espaço de textura e o espaço do objeto. Isto demonstra que o procedimento de texturização foi bem assimilado, tanto do ponto de vista conceitual quanto do ponto de vista de implementação computacional. Entretanto, o projeto 3 diz respeito à texturização do logotipo da Unicamp, feito no projeto 1. Quando o logotipo da Unicamp foi modelado no projeto 1, não se levou em consideração uma posterior texturização. Desse modo, as formas do logotipo foram modeladas como polígonos constituídos por vários nós e não por elementos triangulares ou quadrilaterais que possuem funções de mapeamento entre o o espaço de textura e o espaço de objeto bem definidas no OpenGL. Uma ilustração de uma parte do logotipo modelada no projeto 1 pode ser vista abaixo, com 24 nós. Não é possível definir 24 pontos no espaço de textura e relacionar com os 24 pontos desse polígono pois, não há uma função de mapeamento desse tipo implementada no OpenGL. Foi pensado em se fazer uso de tesselation, ou seja, subdividir um polígono de várias arestas em polígonos simples de 3 lados mas, o OpenGL não permite acesso aos vértices dos triângulos. Depois de uma conversa com a professora Ting, ficou estabelecido que o mais adequado seria relatar os problemas encontrados e modificar os parâmetros de iluminação e de cor afim de tentar melhorar o aspecto visual do logotipo, ao invés de fazer uma nova modelagem do logotipo da Unicamp.
e-mail Projeto 2 Projeto 3 Projeto 1 HomeDCA - FEEC - UNICAMP
Home - Projeto 1 - Projeto 2 - Projeto 3