INFOGRAFÍA 2 Práctica 3: Bump Mapping tar xvfz bump.tar .gz cd

Anuncio
INFOGRAFÍA 2
Práctica 3: Bump Mapping
Bibliografía
Alan Watt, “3D Computer Graphics”, November 1999, pp. 236--238. (Bump Mapping)
Objetivo
Escribir en C++ un programa que recibe como entrada una imagen 2D (bump map) y que, dada una
superficie triangulada abierta, perturbe las normales de la superficie en función de la imagen 2D
para lograr el efecto de Bump Mapping.
Para conocer las coordenadas de textura de la imagen que se corresponden con cada uno de los
vértices de la superficie, es necesario realizar una etapa inicial de asignación de dichas coordenadas
(Texture Mapping).
Sugerencias
-Leer el artículo adjunto con atención.
-Leer el código del framework con atención, hasta entender todos los pasos.
-Invertir un buen tiempo en planear el código, no ponerse a programar directamente.
-Hacer código modular: desglosar la tarea global en partes, hacer funciones para estas partes, llamar
a las funciones desde un programa principal corto.
-Prestar atención a las anotaciones del fichero “main.cpp” para ver qué es lo que debe
implementarse.
Pasos
Bajar el archivo bump.tar
Descomprimirlo con el comando:
tar xvfz bump.tar .gz
Ahora podemos compilar el código ejemplo:
cd bump/src make ­k
Ejecutar el siguiente script desde el directorio base:
cd ..
./execute.sh prueba
Este código crea una superficie triangulada abierta y la renderiza.
El código también posee la función textureMapping(), que asigna a cada uno de los
vértices de la superficie las coordenadas de textura (u,v) de una imagen de entrada en formato TGA
(guardada en la carpeta “data”). Las instrucciones para completar la implementación del Texture
Mapping se encuentran en el código.
Implementar por completo el algoritmo de Bump Mapping según se explica en el artículo de la
bibliografía.
Experimentos
Probar con diferentes bump maps y deducir los posibles problemas del algoritmo.
Entrega
Fecha límite: 01/12 a las 8:00AM. No se aceptan entregas tardías, no se hacen excepciones.
Defensa: 01/12 a las 12:30 (asistencia obligatoria).
Qué se entrega:
-Informe: introducción, el algoritmo, explicación del código, experimentos, conclusiones. En
formatos html, ps, pdf o rtf.
-Código C++, comentado. Formato: ascii.
Descargar