Detalle del libro
Ver Índice
Introducción
Contenido del libro
Parte I. OpenGL clásico
Parte II. OpenGL en todas partes
Parte III. OpenGL: la próxima generación
Parte IV. Apéndice
Convenios utilizados en este libro
Parte I. OpenGL clásico
1. Introducción a los gráficos 3D y OpenGL
¿De qué trata todo esto?
Una breve historia sobre los gráficos por ordenador
Introducción del CRT
Hacia los gráficos tridimensionales
2D + Perspectiva = 3D
Elementos 3D
Estudio sobre los efectos 3D
Perspectiva
Color y sombreado
Luces y sombras
Trazado de mapa de textura
Niebla
Fusión y transparencia
Suavizado
Usos comunes para gráficos de 3D
3D en tiempo real
3D en tiempo no real
Principios básicos de programación 3D
Modo inmediato y modo retenido (gráficos de escena)
Sistemas de coordenadas
Coordenadas cartesianas 2D
Recorte de coordenadas
Puertos de vista: coordenadas de dibujo en coordenadasde ventana
El vértice: una posición en el espacio
Coordenadas cartesianas 3D
Proyecciones: llevar 3D a 2D
Proyecciones ortogonales
Proyecciones de perspectiva
2. Uso de OpenGL
¿Qué es OpenGL?
Evolución de un estándar
OpenGL ARB
Licencias y conformidad
La guerra de las API
Introducción de DirectX
OpenGL llega a los PC
¿OpenGL para juegos?
Ventaja inicial de Direct3D
El juego sucio
El futuro de OpenGL
¿Cómo funciona OpenGL?
Implantaciones genéricas
Implantaciones de hardware
El canal
OpenGL: Una API, no un lenguaje
Bibliotecas y encabezados
Especificaciones API
Tipos de datos
Convenios de denominación de funciones
Independencia de plataforma
Uso de GLUT
Configurar el entorno de programación
El primer programa
El encabezado
El cuerpo
Modo de presentación: un solo búfer
Crear la ventana OpenGL
Mostrar la devolución de llamada
Establecer el contexto y seguir
Llamadas de gráficos OpenGL
Borrar el búfer de color
Limpiar la cola
Dibujar formas con OpenGL
Dibujar un rectángulo
Escalar la ventana
Configurar el puerto de vista y el volumen de recorte
Definir el puerto de vista
Definir el volumen de visualización recortado
Mantener cuadrado un cuadrado
Animación con OpenGL y GLUT
Doble búfer
Máquina de estado de OpenGL
Guardar y restablecer estados
Errores de OpenGL
Errores en un código
Identificar la versión
Especificar sugerencias con glHint
Usar extensiones
Comprobar una extensión
¿De quién es esta extensión?
OpenGL más allá de 1.1 en Windows
Referencia
3. Dibujo espacial: Primitivos geométricos y búferes
Dibujar puntos en 3D
Configurar un lienzo 3D
Un punto 3D: el vértice
Dibujar algo
Dibujar puntos
Nuestro primer ejemplo
Establecer el tamaño del punto
Dibujar líneas en 3D
Bandas y bucles de línea
Aproximación de curvas con líneas rectas
Establecer el ancho de línea
Punteo de líneas
Dibujo de triángulos en 3D
Triángulos: nuestro primer polígono
Giro
Bandas de triángulo
Abanicos de triángulos
Construir objetos sólidos
Establecer los colores del polígono
Ocultar eliminación de superficies
Eliminación selectiva: ocultar superficies para mejorarel rendimiento
Modos de polígonos
Otros primitivos
Polígonos de cuatro lados: cuadriláteros
Bandas de cuadriláteros
Polígonos generales
Rellenar polígonos o volver a puntear
Reglas de creación de polígonos
Subdivisión y bordes
Otros trucos de búfer
Usar los destinos de búfer
Manipular el búfer de profundidad
Rectángulo de recorte
Usar el búfer de plantilla
Creación del patrón de plantilla
Referencia
4. Transformaciones geométricas: el canal
¿Es este el temido capítulo dedicado a las matemáticas?
Transformaciones
Coordenadas visuales
Transformaciones de visualización
Transformaciones de modelado
Dualidad de la vista de modelo
Transformaciones de proyección
Transformaciones de puerto de vista
Matrices: moneda matemática de los gráficos 3D
¿Qué es una matriz?
Canal de transformación
Matriz de vista de modelo
Traslación
Rotación
Escalado
Matriz de identidad
Pila de matrices
Un ejemplo nuclear
Usar proyecciones
Proyecciones ortogonales
Proyecciones de perspectiva
Un ejemplo asombroso
Manipulación avanzada de matrices
Cargar una matriz
Ejecutar transformaciones propias
Unir transformaciones
Moverse en OpenGL con cámaras y actores
Fotograma de actor
Ángulos Euler
Administración de cámaras
Reunir todos los conceptos
Referencia
5. Color, materiales e iluminación: elementos básicos
¿Qué es el color?
La luz como una onda
La luz como una partícula
Nuestro detector personal de fotones
El ordenador como generador de fotones
Hardware de PC de color
Modos de presentación de PC
Resolución de pantalla
Profundidad de color
Modo de color de 4 bits
Modo de color de 8 bits
Modo de color de 24 bits
Modos de color de 16 y 32 bits
Uso del color en OpenGL
El cubo de colores
Establecer el color de dibujo
Sombreado
Establecer el modelo de sombreado
El color en el mundo real
Luz ambiente
Luz difusa
Luz especular
Reunir todos los conceptos
Materiales en el mundo real
Propiedades de los materiales
Añadir luz a los materiales
Calcular los efectos de luz ambiente
Efectos difusos y especulares
Añadir luz a una escena
Activar la iluminación
Establecer el modelo de iluminación
Establecer las propiedades del material
Usar una fuente de luz
Posición de la luz
Normales de superficie
Especificar un normal
Normales de unidad
Buscar un normal
Establecer una fuente
Establecer las propiedades de los materiales
Especificar los polígonos
Efectos de iluminación
Brillos especulares
Luz especular
Reflectancia especular
Exponente especular
Promediar normales
Reunir todos los conceptos
Crear un foco
Dibujar un foco
Sombras
¿Qué es una sombra?
Código de aplastamiento
Un ejemplo de sombra
Volver a visitar el mundo de esferas
Referencia
6. Más sobre colores y materiales
Fusiones
Combinar colores
Cambiar la ecuación de fusión
Suavizado de bordes
Muestreo múltiple
La niebla
Búfer de acumulación
Otras operaciones de color
Máscaras de color
Operaciones de color lógicas
Prueba alpha
Tramado
Referencia
7. Tratamiento de imágenes con OpenGL
Mapas de bits
Un ejemplo de mapa de bits
Establecer la posición de la trama
Dibujar el mapa de bits
Paquetes de píxeles
Mapas de píxeles
Formatos de píxeles empaquetados
Un ejemplo más colorido
Movimiento de píxeles
Guardar píxeles
Más diversión con píxeles
Zoom de píxel
Transferencia de píxeles
Mapa de píxeles
El subconjunto de procesamiento de imágenes
Canal de procesamiento de imágenes
Matriz de color
El uso de las aplicaciones para dibujar gráficos 3D en tiempo real se ha estandarizado en áreas tan diversas como los juegos interactivos, películas y simulaciones, hasta la visualización de datos para usos científicos, médicos y comerciales. En este sentido, OpenGL constituye una de las interfaces de programación más recomendadas en este campo por su excelente estabilidad y rendimiento.
Con esta obra se familiarizará con los elementos básicos de la programación de gráficos 3D con OpenGL, aprendiendo a construir un programa que use OpenGL, establecer el entorno de interpretación 3D y a crear objetos básicos así como a aplicarles luces y sombras y mucho más.
El lector encontrará además toda la información específica que necesite dependiendo del sistema operativo con el que trabaje, y a medida que avance en el uso de esta API gráfica irá profundizando en el conocimiento de sus opciones avanzadas y los distintos efectos especiales que permite.
Incluye CD-ROM con los ejemplos desarrollados a lo largo del libro así como diversas herramientas de utilidad.