Hola compañeros, estoy arto de buscar libros (giris por supuesto... n conozco buenos libros de OGL en español) y n encuentro o mas bien n me aclaro que libro seria bueno. Quiero un libro TOCHO, q toque todos los temas, q sirva de referencia. ¿Existe algun libro sobre OGL con estas caracteristicas?
Por lo que yo se el libro rojo y el azul (de referencia este) son completos y descargables directamente de la web de opengl.org. Supongo que ya los conocerás. Aquí en la facultad de malaga hay muchos en la biblioteca (es casi lo único que hay de opengl decente), así que supongo que por donde vivas tambien será bastante usado, y visitar la biblio es "opensource" :P.
Te dejo el link directo por si acaso no lo conocías
http://opengl.org/documentation/red_book_1.0/.
Un saludo.
Acaban de sacar uno en español (copyright 2004 o 2005 no me acuerdo) asi que estara actualizado y es bastante tocho. Es de Anaya pero no me acuerdo autor. Yo creo q me lo pillare, pero mas adelante, aun sigo con mi 2D. Mira por inet a ver q hay.
El azul y esos son wena opcion tb.
Saludos! B)
Si yo esq el mejor libro es siempre el redbook, el actual el actual es el 1.4, 4ª edicion, es algo esencial, estaria impresionante en español, aunque a mi el ingles ya despues de tanto n me importa. voy a buscar en anaya multimedia a ver...
Fresco Fresco chicos! de Enero de 2005 ;)
aki
AnayaMultimedia buscad por OpenGL y saldra el libro :o, ahora toca buscar opiniones.
he aki el indice:
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
He buscado los autores y son los q han hecho la Super Biblia se puede ver aki:
http://www.starstonesoftware.com/OpenGL/Vi antes este libro en GameDev y creo q lo dejaron muy bien, dice q vertia el auto sus experiencias y opiniones fundamentadas.
Ya puse en otro thread pero lo vuelvo a poner aquí.
lo mejor de opengl, como ha dicho un compañero es RED & BLUE BOOK OF OPENGL, actualmente 4ª edicion, la cuál tengo original comprada de una libreria llamada DIAZ DE SANTOS.
el total de los dos libros es de 109 € así que no seais ratas y compraroslo que no sabeis lo comodo que es poderlo llevar a todos lados.
El Rojo sirve como base de programación, sólo enseña lo esencial de OPENGL, para que engañarnos, y el AZUL sirve como su nombre indica de referencia, saber en cualquier momento en que consiste una función en concreto de la libreria.
--
Respecto a libros en español, para que engañarnos, cuando sale algo en español es que está desfasado, lamentablemente así funciona en españa.
El libro que estais comentando en español (el de anaya) lo vi en una libreria cerca de mi facultad y si, es muuyy tocho. Yo tengo una versión anterior de ese libro (de hace bastantes años ya, mucho mas pequeño y con menos "temario") y está bien, te explica cosas bastante interesantes y no te mete ahí el código para q copies y pegues. Estuve tentado en comprarlo porque tenia bastante buena pinta.
Un saludor.
Esq el de Anaya, es el Super Biblie, q esta basado en el RedBook, con un poquito mas, y las experiencias de los autores. n tengo el indice del 1.4 y n lo puedo asegurar, pero estoy seguro, el redbool 1.4 creo q es del 2003, en 2004 es la version inglesa de la super biblia y en 2005 ya traduccion al castellano.
Yo estyo por comprarme el RedBook q conste, si a mi me da =, pero si lo tengo = pero en castellano (q ya ves tu q problema...) para repasar lo q ya se, q deje hace 1 año ya, me parece mas adecuado. El caso esq yo veo q es muy buen libro.
Yo tengo el SuperBible 3a edicion y es el que he encontrado que cubra mas aspectos: VBO, Shadow Mapping, GLSL,... Y es ese mismo pero en ingles :)
Eso si, no cubre HDR ni cosas de esas que estan a la orden del dia :(
No os da la impresión de que cada vez que sacan un libro nuevo de OpenGL es el antiguo pero con un par de capitulos con como usar un par de extensiones??? :S
Creo que deberian hacer uno desde cero y centrandose en lo que hoy en dia se usa olvidandose de aspectos desfasados.
La base tiene q estar ahi siempre. Lo q si, habria q hacer un libro puntero. Si sale la version de OGL 2.0 cm ahora, tratar profundamente, y quiero decir con esto, q n se deje nada no q se enroye, todos los temas actuales. No q está la OpenGL 2.0 y aun el redbook 1.4, y dicen nah! si es el mismo solo q OGL 2.0 tiene esto y esto y lo otro mas SOLAMENTE. Yo creo q el "solamente" o el tiene un poquito mas, n importa pq es basicamente =, marca la diferencia.
Aunque tb está claro, q sabiendo bien la base, solo tienes q mirar cm se hace esto y aquello... y listo (relativamente).
Yo me pillé hace unas 3 semanas el libraco de Anaya. Te explica las cosas muy bien, tanto conceptos teóricos como prácticos y al final de cada tema te hace un breve resumen de todas las funciones que ha ido utilizando a lo largo del tema. B)