Libros urgentes
Ciencias Humanas
Ciencias Técnicas
Derecho
Economía
Informática
Libros de Texto
Literatura
Oposiciones
Otros
Tiempo Libre

Informática > Programación > Programación. Otros

Opengl
Wright, Richard S. ; Lipchak, Benjamin (Ed. Anaya Multimedia)
Precio:64,2 € ($87,59)
1104 páginas.
Idioma: Español
ISBN: 8441517940. ISBN-13: 9788441517943
1ª edición (01/2005).
Entrega: De 1 a 7 días contra reembolso por agencia urgente*


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.

Í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
Búsqueda de color
Convoluciones
Histograma
Referencia

8. Trazado del mapa de texturas: elementos básicos
Cargar texturas
Usar el búfer de color
Actualizar texturas
Trazar mapas de textura para elementos geométricos
Matriz de textura
Un ejemplo 2D simple
Entorno de textura
Parámetros de textura
Filtrado básico
Ajuste de textura
Dibujos animados con textura
Trazado de mapas MIP
Filtrado del mapa MIP
Generar niveles MIP
Objetos de textura
Administrar múltiples texturas
Texturas residentes
Prioridades de textura
Referencia

9. Trazado del mapa de texturas: más allá de los elementosbásicos
Color secundario
Filtrado anisótropo
Compresión de textura
Compresión de texturas
Cargar texturas comprimidas
Generación de coordenadas de textura
Trazado de mapa lineal de objeto
Trazado de mapa lineal de visualización
Trazado de mapa de esfera
Trazado de mapa de cubo
Cargar mapas de cubo
Usar mapas de cubo
Múltiples texturas
Coordenadas de múltiples texturas
Un ejemplo de múltiples texturas
Combinadores de texturas
Referencia

10. Curvas y superficies
Superficies incorporadas
Establecer superficies cuadráticas
Dibujar elementos cuadráticos
Modelado con cuadráticos
Curvas y superficies Bézier
Representación paramétrica
Puntos de control
Continuidad
Evaluadores
Una curva 2D
Evaluar una curva
Una superficie 3D
Iluminación y normales
NURBS
De curva Bézier a curva-B
Nudos
Crear una superficie NURBS
Propiedades NURBS
Definir una superficie
Recortar
Curvas NURBS
Mosaicos
El creador de mosaicos
Devoluciones de llamada del creador de mosaicos
Especificar datos de vértice
Reunir todos los conceptos
Referencia

11. Todo sobre el canal de datos: rendimiento geométricomás rápido
Modelo de montaje 101
Piezas y elementos
La cabeza
El pie
La rosca
Reunir todos los conceptos
Listas de presentación
Procesamiento por lotes
Lotes de procesamiento previo
Advertencias sobre las listas de presentación
Conversión a listas de presentación
Medir el rendimiento
Un ejemplo mejor
Matrices de vértice
Cargar la geometría
Activar matrices
¿Dónde están los datos?
Dibujar
Matrices de vértice indexadas
Un cubo sencillo
Un modelo más complicado
Referencia

12. Gráficos interactivos
Selección
Denominar los primitivos
Trabajar en el modo de selección
El búfer de selección
Elección
Elección jerárquica
Retroalimentación
El búfer de retroalimentación
Datos de retroalimentación
Marcadores de pases
Un ejemplo de retroalimentación
Etiquetar objetos para la retroalimentación
Paso 1: Seleccionar el objeto
Paso 2: Retroalimentación del objeto
Referencia

Parte II. OpenGL en todas partes

13. Opciones de contoneo: OpenGL en Windows
Implantaciones de OpenGL en Windows
OpenGL genérico
Controlador instalable de cliente
Controlador mini-cliente
Mini-controlador
OpenGL extendido
Interpretación básica de Windows
Contextos del dispositivo GDI
Formatos de píxel
Describir un formato de píxel
Enumerar formatos de píxel
Seleccionar y establecer un formato de píxel
El contexto de interpretación de OpenGL
Reunir todos los conceptos
Crear la ventana
Primero, se necesita un contexto de dispositivo
Introducción de Win32
Tres pasos hacia delante, tres pasos hacia atrás
No se ha perdido todo
Usar el contexto de interpretación OpenGL
Inicializar el contexto de interpretación
Cerrar el contexto de interpretación
Otros mensajes de Windows
El mensaje WM_PAINT
Paletas de Windows
Coincidencia del color
Control de la paleta
Crear una paleta para OpenGL
Necesidad de una paleta
Estructura de la paleta
La paleta 3-3-2
Crear la paleta
Creación y disposición de la paleta
Algunas restricciones
OpenGL y las fuentes de Windows
Fuentes y texto 3D
Interpretar texto 3D
Fuentes y texto 2D
Interpretación en pantalla completa
Crear una ventana sin marco
Crear una ventana en pantalla completa
Interpretación de cadenas múltiples
OpenGL y las extensiones WGL
Extensiones simples
Usar puntos de entrada nuevos
Extensiones WGL
Formatos de píxel extendidos
Win32 al máximo
Referencia

14. OpenGL en Mac OS X
Elementos básicos
Estructuras
Usar la API GLUT
Utilizar las API AGL y Carbon
Formatos de píxel
Administrar contextos
Realizar una interpretación de doble búfer
El primer programa AGL
Usar fuentes de mapas de bits
Usar la API Cocoa
La clase NSOpenGL
El primer programa Cocoa
Referencia

15. GLX: OpenGL en Linux
Elementos básicos
Usar las bibliotecas de OpenGL y X11
Usar la biblioteca GLUT
OpenGL en Linux
Emulación OpenGL: Mesa
Extensión de OpenGL para X Window System
Elementos básicos de X Window System
Elegir un visual
Administrar contextos de OpenGL
Crear una ventana OpenGL
Ventanas de doble búfer
Reunir todos los conceptos
Crear fuentes de mapa de bits para OpenGL
Interpretación fuera de pantalla
Usar mapas de píxeles de GLX
Usar búferes P
Usar la biblioteca Motif
GLwDrawingArea y GLwMDrawingArea: los símbolos gráficos de OpenGL
Devoluciones de llamada
La devolución de llamada GLwNexposeCallback
La devolución de llamada GLwNginitCallback
La devolución de llamada GLwNinputCallback
La devolución de llamada GLwNresizeCallback
Funciones
Reunir todos los conceptos
Referencia

Parte III. OpenGL: la próxima generación

16. Objetos de búfer: es su memoria de vídeo, ¡adminístrela!
Primero, las matrices de vértice
Generar las nubes de partículas esféricas
Activar las matrices de vértice
¡Más esferas, por favor!
Migración a objetos de búfer
Administración de objetos de búfer
Interpretar con objetos de búfer
Cargar datos en objetos de búfer
Copiar datos en el objeto de búfer
Trazar directamente el mapa del objeto de búfer
Algunos puntos finales
Referencia

17. Consultas de oclusión: ¿por qué trabajar más de lo necesario?
El mundo antes de las consultas de oclusión
Cuadros delimitadores
Consultar el objeto consultado
Referencia

18. Texturas y sombras de fondo
La luz
Encajar la escena en la ventana
Sin adornos
Un nuevo tipo de textura
¿Dibujar primero las sombras?
Y se hizo la luz
Proyectar el mapa de sombras: el por qué
Proyectar el mapa de sombras: el cómo
La comparación de sombras
Dos pases en lugar de tres
Algunas palabras sobre el desplazamiento de polígonos
Referencia

19. Canal programable: éste no es el OpenGL de nuestros padres
Fuera lo antiguo
Procesamiento de vértice fijo
Transformación de vértice
Iluminación
Generación y transformación de las coordenadas de textura
Recorte
Procesamiento de fragmento fijo
Aplicación y entorno de textura
Suma de colores
Aplicación de niebla
Aplicación de suavizado
Bienvenido lo nuevo
Modelos de sombreado de vértices programables
Reemplazar la transformación de vértice
Reemplazar la iluminación
Reemplazar el procesamiento de coordenadas de textura
Pegamentos de la funcionalidad fija
Modelos de sombreado de fragmentos programables
Reemplazar el texturizado
Reemplazar la suma de colores
Reemplazar la niebla
Introducción a las extensiones de modelo de sombreado
Extensiones de bajo nivel
Extensiones de alto nivel

20. Sombreado de bajo nivel: codificación
Administrar modelos de sombreado de bajo nivel
Crear y enlazar modelos de sombreado
Cargar modelos de sombreado
Eliminar modelos de sombreado
Configurar las extensiones
Conjuntos de instrucciones
Instrucciones comunes
Instrucciones específicas de vértice
Instrucciones específicas de fragmento
Tipos de variables
Temporales
Parámetros
Constantes en línea
Parámetros de estado de enlace
Parámetros de programa
Matrices de parámetro
Atributos
Atributos de vértice
Atributos de fragmento
Salidas
Salidas de vértice
Salidas de fragmento
Alias
Direcciones
Modificadores de entrada y salida
Negar la entrada
Reordenar la entrada
Máscara de escritura de salida
Ajuste de salida
Consumo y consultas de recursos
Límites del analizador
Texturas indirectas
Límites nativos
Otras consultas
Opciones de modelo de sombreado
Opción de posición invariable de vértice
Opciones de aplicación de niebla de fragmento
Opciones de indicaciones de precisión de fragmento
Referencia

21. Sombreado de alto nivel: el verdadero sombreado
Administrar modelos de sombreado de alto nivel
Objetos de modelo de sombreado
Creación y eliminación
Especificación del texto del modelo de sombreado
Compilación de modelos de sombreado
Objetos de programa
Creación y eliminación
Unir y separar
Vinculación de programas
Validación de programas
Uso de los programas
Configurar las extensiones
Variables
Tipos básicos
Estructuras
Matrices
Calificadores
Variables incorporadas
Expresiones
Operadores
Acceso a matrices
Constructoras
Selectores de componente
Flujo de control
Bucles
if/else
discard
Funciones
Funciones de búsqueda de textura
Referencia

22. Sombreados de vértice: transformación, iluminacióny texturas
Manos a la obra
Iluminación difusa
Iluminación especular
Iluminación especular mejorada
Niebla por vértice
Tamaño de punto por vértice
Transformación personalizada de vértices
Fundido de vértice

23. Sombreados de fragmentos
Conversión del color
Escala de grises
Tono sepia
Inversión
Impresión del calor
Búsqueda de texturas dependiente
Niebla por fragmento
Procesamiento de imagen
Desenfoque
Perfilar
Dilatación y erosión
Detección de bordes
Iluminación
Iluminación difusa
Luces especulares múltiples
Trazado de mapa de texturas de procedimiento
Textura de tablero de ajedrez
Textura de pelota de playa
Textura de pelota de juego

Parte IV. Apéndice

Apéndice A. Contenido del CD-ROM
Creación de los programas de ejemplo

Índice Alfabético

Otros clientes que compraron OpenGL, también compraron:


Opengl En Fichas: Una Introducción Práctica
Lluch Crespo, Xavier; Ribelles Miguel, José.
202 páginas.
Precio: 16 € ($21,82)


MATEMÁTICA DISCRETAMatemática Discreta
FÉLIX GARCÍA MERAYO.
576 páginas.
Envío gratuito
Precio: 36,8 € ($50,2)


2000 Problemas resueltos de matemática discreta2000 Problemas Resueltos De Matemática Discreta
Lipschutz, Seymour & Lipson, Marc Lars.
456 páginas.
Precio: 28 € ($38,2)


Calculo Ii (De Varias Variable)Calculo Ii (de Varias Variable)
Bradley.
530 páginas.
Precio: 37,75 € ($51,51)


Otros libros de Programación. Otros:


LAS BASES DE LA PROGRAMACIÓNLas Bases De La Programación
Arsac, J..
280 páginas.
Precio: 42 € ($57,29)


Office access 2003 quickstepsOffice Access 2003 Quicksteps
Matthews.
224 páginas.
Precio: 16 € ($21,82)


Developing solutions with MS infopathDeveloping Solutions With Ms Infopath
Halstead.
372 páginas.
Precio: 55 € ($75,03)


Pc Hardware and A+ HandbookPc Hardware And A+ Handbook
Chase.
300 páginas.
Precio: 42 € ($57,29)


Java 2 v5.0Java 2 V5.0
Francisco Javier Moldes Teo.
416 páginas.
Precio: 13,3 € ($18,15)


*Para península. Tiempo estimado para días laborables