OpenGL es una API multiplataforma e independiente del lenguaje para generar gráficos 2D y 3D a partir de primitivas geométricas simples como puntos, líneas y triángulos. Fue desarrollada originalmente por SGI en 1992 y ha evolucionado a través de múltiples versiones que han agregado nuevas funcionalidades como texturas, shaders programables y compatibilidad con un mayor rango de hardware.
El documento describe el desarrollo de aplicaciones con el periférico Kinect de Microsoft, incluyendo detalles sobre el hardware, alternativas de desarrollo, el SDK oficial y cómo implementar funcionalidades básicas como la captura de video, rastreo de esqueletos y gestos.
Este documento presenta un curso introductorio sobre OpenGL. Explica conceptos básicos de OpenGL y su uso en Linux, incluyendo cómo instalar las librerías necesarias. Contiene capítulos sobre transformaciones, animación, iluminación y texturas, con ejemplos de código. El objetivo es proporcionar una guía práctica para aprender los fundamentos de la programación 3D con OpenGL.
Programación Open GL ES en iPhone e iPod touchBlogintosh
Este documento presenta una introducción a OpenGL ES para desarrollar gráficos 3D en iPhone. Explica conceptos clave como vértices, primitivas, matrices de modelo-vista y proyección, y el uso de texturas. Detalla operaciones básicas como borrar la pantalla, dibujar primitivas y seleccionar colores. Además, cubre temas como traslaciones, rotaciones y escalado para manipular objetos 3D, y cargar y aplicar texturas a las primitivas.
Taller de OpenGL en el Barcelona Developers Conference 2012 por Fernando Rodriguez & AGBO Training
KeepCoding Tech School, es un centro de formación de alto rendimiento en programación y tecnología. Con presencia en Madrid-España y Bogotá-Colombia es el centro de referencia de habla hispana para el aprendizaje de capacidades tecnológicas de gran demanda. Ofrece formación intensiva y de alto rendimiento para aprender a programar desde cero o hasta los niveles más avanzados en desarrollo Web, Mobile, Big Data, IA y Machine Learning, Blockchain, DevOps y Ciberseguridad. Con una metodología 100% práctica, técnica y efectiva, diseñada con el objetivo de crear profesionales sólidos con perfil amplio e integral. KeepCoding fue además reconocido por su iniciativa ‘Acelera España’ en 2020 con los premios Digital Skills Awards Spain de AMETIC y ‘Más y mejores profesionales TIC formados’ por El Mundo y es World Guinness Record Holder por “La mayor clase de software del mundo” desde 2019.
☞ Ingresa a: https://keepcoding.io/
Este documento presenta una introducción a OpenGL. Explica que OpenGL es una interfaz de programación de aplicaciones para gráficos por hardware que permite crear aplicaciones gráficas 2D y 3D de forma portable. Describe algunas características clave como su independencia del hardware, capacidad para trabajar en entornos cliente-servidor y librerías relacionadas como GLUT y AUX. Finalmente menciona algunas aplicaciones comunes que usan OpenGL como software de modelado, juegos y realidad virtual.
Este documento presenta 16 prácticas de programación en OpenGL utilizando Dev C++. Las prácticas van desde lo básico como dibujar un tablero de ajedrez hasta objetos 3D más complejos e incluso animaciones. Se explican funciones como glBegin, glVertex, glColor y el uso de bucles for para crear formas repetitivas.
Este documento introduce conceptos básicos de OpenGL como la definición de objetos, luces, cámara y ventanas de visualización. Explica el modelo de programación de OpenGL y conceptos clave como proyecciones, matrices y su uso para transformaciones. Luego, cubre OpenGL 2D para dibujar triángulos, modificar colores, texturas e insertar transformaciones. Finalmente, menciona brevemente las principales diferencias entre OpenGL 2D y 3D.
El documento describe las características principales de las tarjetas gráficas. Explica que procesan la información gráfica y permiten visualizar imágenes en la pantalla. Detalla los componentes clave como el procesador, la memoria y los shaders, y cómo estas partes trabajan juntas para generar gráficos en 2D y 3D. También resume las técnicas y parámetros más importantes para medir el rendimiento gráfico, así como los principales fabricantes y productos en el mercado actual de tarjetas gráficas.
El documento describe el desarrollo de aplicaciones con el periférico Kinect de Microsoft, incluyendo detalles sobre el hardware, alternativas de desarrollo, el SDK oficial y cómo implementar funcionalidades básicas como la captura de video, rastreo de esqueletos y gestos.
Este documento presenta un curso introductorio sobre OpenGL. Explica conceptos básicos de OpenGL y su uso en Linux, incluyendo cómo instalar las librerías necesarias. Contiene capítulos sobre transformaciones, animación, iluminación y texturas, con ejemplos de código. El objetivo es proporcionar una guía práctica para aprender los fundamentos de la programación 3D con OpenGL.
Programación Open GL ES en iPhone e iPod touchBlogintosh
Este documento presenta una introducción a OpenGL ES para desarrollar gráficos 3D en iPhone. Explica conceptos clave como vértices, primitivas, matrices de modelo-vista y proyección, y el uso de texturas. Detalla operaciones básicas como borrar la pantalla, dibujar primitivas y seleccionar colores. Además, cubre temas como traslaciones, rotaciones y escalado para manipular objetos 3D, y cargar y aplicar texturas a las primitivas.
Taller de OpenGL en el Barcelona Developers Conference 2012 por Fernando Rodriguez & AGBO Training
KeepCoding Tech School, es un centro de formación de alto rendimiento en programación y tecnología. Con presencia en Madrid-España y Bogotá-Colombia es el centro de referencia de habla hispana para el aprendizaje de capacidades tecnológicas de gran demanda. Ofrece formación intensiva y de alto rendimiento para aprender a programar desde cero o hasta los niveles más avanzados en desarrollo Web, Mobile, Big Data, IA y Machine Learning, Blockchain, DevOps y Ciberseguridad. Con una metodología 100% práctica, técnica y efectiva, diseñada con el objetivo de crear profesionales sólidos con perfil amplio e integral. KeepCoding fue además reconocido por su iniciativa ‘Acelera España’ en 2020 con los premios Digital Skills Awards Spain de AMETIC y ‘Más y mejores profesionales TIC formados’ por El Mundo y es World Guinness Record Holder por “La mayor clase de software del mundo” desde 2019.
☞ Ingresa a: https://keepcoding.io/
Este documento presenta una introducción a OpenGL. Explica que OpenGL es una interfaz de programación de aplicaciones para gráficos por hardware que permite crear aplicaciones gráficas 2D y 3D de forma portable. Describe algunas características clave como su independencia del hardware, capacidad para trabajar en entornos cliente-servidor y librerías relacionadas como GLUT y AUX. Finalmente menciona algunas aplicaciones comunes que usan OpenGL como software de modelado, juegos y realidad virtual.
Este documento presenta 16 prácticas de programación en OpenGL utilizando Dev C++. Las prácticas van desde lo básico como dibujar un tablero de ajedrez hasta objetos 3D más complejos e incluso animaciones. Se explican funciones como glBegin, glVertex, glColor y el uso de bucles for para crear formas repetitivas.
Este documento introduce conceptos básicos de OpenGL como la definición de objetos, luces, cámara y ventanas de visualización. Explica el modelo de programación de OpenGL y conceptos clave como proyecciones, matrices y su uso para transformaciones. Luego, cubre OpenGL 2D para dibujar triángulos, modificar colores, texturas e insertar transformaciones. Finalmente, menciona brevemente las principales diferencias entre OpenGL 2D y 3D.
El documento describe las características principales de las tarjetas gráficas. Explica que procesan la información gráfica y permiten visualizar imágenes en la pantalla. Detalla los componentes clave como el procesador, la memoria y los shaders, y cómo estas partes trabajan juntas para generar gráficos en 2D y 3D. También resume las técnicas y parámetros más importantes para medir el rendimiento gráfico, así como los principales fabricantes y productos en el mercado actual de tarjetas gráficas.
Gráficos 3D en Linux con Mesa (GPUL Labs Meetup)Igalia
Por Iago Toral Quiroga.
Con motivo de la XDC 2018 que del día 26 al 28 de Septiembre tendrá lugar en la Facultad de Informática, queremos hacer una pequeña introducción a las APIs de gráficos para que todos los interesados en la temática podáis aprovechar y os
animéis a asistir a la conferencia internacional.
El proyecto Mesa 3D comenzó en el año 1993 como un proyecto personal de Brian Paul, quien estaba interesado en implementar una libreria sencilla de de gráficos 3D basada en al API de OpenGL. Desde entonces Mesa se ha convertido en uno de los proyectos de software libre más relevantes, contando con una importante inversión por parte de empresas del sector como Intel, AMD, Valve o RedHat entre otras, asi como de miembros de la comunidad de software libre.
Mesa proporciona implementaciones libres tanto de drivers hardware como software para una colección de APIs, entre las que se incluyen OpenGL y también Vulkan, el nuevo API de gráficos 3D del grupo Khronos, un API de más bajo nivel
orientada a sacar el máximo rendimiento del hardware GPU moderno.
Esta charla se centrará en dos aspectos principales: por una lado, dar una introducción al proyecto Mesa, cubriendo sus fundamentos, aplicaciones y evolución en los últimos años asi como el papel que juega en el stack gráfico de Linux, y por otro, dar una breve introducción al funcionamiento del hardware 3D moderno y como se explota desde APIs como OpenGL o Vulkan.
GPUL Labs Meetup
19 Setembro 2018
https://www.meetup.com/es-ES/GPUL-Labs/events/254337745/
OpenGL es un estándar para gráficos por computadora que surgió en 1992 cuando varias empresas se unieron para desarrollar una librería gráfica de código abierto. OpenGL permite a los programadores interactuar con dispositivos gráficos 3D a través de comandos para definir objetos, aplicar transformaciones, cambiar propiedades y más. Ofrece primitivas geométricas, transformaciones, mapeado de texturas y otros efectos para crear gráficos 3D.
Autocad es un programa de diseño asistido por computadora (CAD) utilizado para crear diseños 2D y 3D. LightWave es una aplicación de modelado, animación y renderizado 3D. ZBrush es un potente programa de diseño 3D que permite la escultura digital y pintura en 3D.
El documento proporciona información sobre la tecnología GPU utilizada en las tarjetas gráficas. Explica que una GPU es una unidad de procesamiento dedicada al procesamiento de gráficos para aliviar la carga de trabajo de la CPU. Luego describe las diferencias entre las GPU y CPU, así como la arquitectura de las GPU, incluidos los componentes clave como los vértices, píxeles, memoria y shaders. Finalmente, resume la última arquitectura GT200 de nVidia, incluidos sus desafíos de tama
Este documento resume la evolución y componentes básicos de las tarjetas de video. Explica que las tarjetas de video se encargan de procesar y mostrar imágenes en pantalla y han mejorado en resolución y capacidad gráfica a lo largo del tiempo. También describe los principales diseñadores de tarjetas gráficas como AMD y NVIDIA y algunos de sus modelos más recientes.
El documento compara las tarjetas gráficas NVIDIA GeForce GTX 285M SLI y ATI Mobility Radeon HD 5870, proporcionando detalles técnicos como el fabricante, velocidad del núcleo, memoria, consumo de energía, tamaño y fecha de lanzamiento para cada una.
Clases de tarjetas de video y fabricantescarlos andres
Este documento describe las diferentes clases de tarjetas gráficas, incluyendo sus componentes principales como la GPU, memoria y interfaz. También explica los tipos antiguos de tarjetas como MDA, CGA y HGC, así como efectos gráficos comunes como antialiasing y mapeado de texturas. Por último, identifica algunos errores comunes relacionados con tarjetas gráficas.
El documento compara las tarjetas gráficas NVIDIA GeForce GTX 285M SLI y ATI Mobility Radeon HD 5870, proporcionando detalles técnicos como el fabricante, velocidad del núcleo, memoria, consumo de energía, entre otros.
En esta presentación, se comentan las nuevas tendencias en cuanto al aprovechamiento de la potencia de las GPUs para la implementación y ejecución de algoritmos, para resolver problemas complejos.
Este documento describe las características principales de las tarjetas gráficas NVIDIA y ATI. NVIDIA ofrece un rendimiento 10 veces mayor que los gráficos integrados y permite reproducir vídeo en alta definición. La GPU GeForce GTX 480 de NVIDIA es un 27% más rápida que otras tarjetas en el mercado. ATI también ofrece un alto rendimiento gráfico y su serie Radeon ha competido con NVIDIA a lo largo de los años.
Este documento describe las características y evolución de las tarjetas gráficas NVIDIA GeForce y ATI Radeon. Explica que las GPU se utilizan para procesar gráficos mediante cálculos en coma flotante y almacenar información gráfica en la memoria. También resume las principales generaciones de GeForce y Radeon, destacando sus especificaciones técnicas clave a lo largo del tiempo.
Una tarjeta gráfica es una tarjeta de expansión que procesa datos de la CPU para representarlos en un dispositivo de salida de forma comprensible. Se han ido actualizando desde las primeras tarjetas 2D hasta las modernas con GPU dedicado, memoria gráfica y salidas como DVI. Requieren instalación correcta y controladores para funcionar adecuadamente.
Una tarjeta gráfica es una tarjeta de expansión que procesa datos de la CPU para representarlos en un dispositivo de salida de forma comprensible. Se han ido evolucionando desde las primeras tarjetas 2D en los años 60 hasta las modernas tarjetas 3D con GPU, memoria gráfica y salidas digitales. Las tarjetas gráficas incluyen componentes como la GPU, memoria RAM gráfica, salidas y sistemas de refrigeración para procesar gráficos y juegos.
Una tarjeta gráfica es una tarjeta de expansión que procesa datos de la CPU para representarlos en un dispositivo de salida de forma comprensible. Se han ido evolucionando desde las primeras tarjetas 2D a las actuales con capacidad 3D, memoria gráfica dedicada, y soporte para efectos avanzados. Una tarjeta típica incluye una unidad de procesamiento gráfico, memoria gráfica, salidas, refrigeración y alimentación.
Este documento describe las tarjetas gráficas o GPU. Explica que una GPU procesa datos de la CPU para representarlos en un monitor y aliviana la carga del procesador central. Luego detalla que la frecuencia del núcleo de la GPU dicta su velocidad y que Nvidia y ATI son fabricantes populares, con Nvidia enfocándose en calidad de imágenes y ATI describiendo las características de sus tarjetas como interfaz, memoria y compatibilidad.
Este documento describe las tarjetas gráficas o GPU. Explica que una GPU procesa datos de la CPU para representarlos en un monitor y aliviana la carga del procesador central. Luego detalla que la frecuencia del núcleo de la GPU dicta su velocidad y que Nvidia y ATI son fabricantes populares, con Nvidia enfocándose en calidad de imágenes y ATI describiendo las características de sus tarjetas como interfaz, memoria y compatibilidad.
Este documento describe las tarjetas gráficas o GPU. Explica que una GPU procesa datos de la CPU para representarlos en un monitor y aliviana la carga del procesador central. Luego detalla que la frecuencia del núcleo de la GPU dicta su velocidad y que Nvidia y ATI son fabricantes populares, con Nvidia enfocándose en calidad de imágenes y ATI en interfaces como PCI Express y soporte a salidas como HDMI.
Una tarjeta gráfica es una tarjeta de expansión que procesa los datos de la CPU para representarlos en un monitor. Las tarjetas más comunes son para PC debido a su popularidad. Algunas tarjetas ofrecen funciones adicionales como captura de video. Las primeras tarjetas fueron MDA en monocromo, CGA en color y HGC en alta resolución monocromo.
Este documento describe varios periféricos externos como tarjetas de video, monitores y proyectores digitales. Explica que una tarjeta gráfica procesa datos de la CPU y los muestra en un dispositivo de salida como un monitor. Luego describe monitores, sus características y evolución, incluyendo CRT, LCD y LED. Finalmente, explica cómo funcionan los proyectores digitales y sus características.
Este documento describe varios periféricos externos como tarjetas de video, monitores y proyectores digitales. Explica que una tarjeta gráfica procesa los datos de la CPU y los muestra en un dispositivo de salida como un monitor. Luego describe las características y componentes de los monitores, incluidos CRT, LCD y LED. Finalmente, explica cómo funcionan los proyectores digitales y sus características como brillo, resolución y conectores.
Gráficos 3D en Linux con Mesa (GPUL Labs Meetup)Igalia
Por Iago Toral Quiroga.
Con motivo de la XDC 2018 que del día 26 al 28 de Septiembre tendrá lugar en la Facultad de Informática, queremos hacer una pequeña introducción a las APIs de gráficos para que todos los interesados en la temática podáis aprovechar y os
animéis a asistir a la conferencia internacional.
El proyecto Mesa 3D comenzó en el año 1993 como un proyecto personal de Brian Paul, quien estaba interesado en implementar una libreria sencilla de de gráficos 3D basada en al API de OpenGL. Desde entonces Mesa se ha convertido en uno de los proyectos de software libre más relevantes, contando con una importante inversión por parte de empresas del sector como Intel, AMD, Valve o RedHat entre otras, asi como de miembros de la comunidad de software libre.
Mesa proporciona implementaciones libres tanto de drivers hardware como software para una colección de APIs, entre las que se incluyen OpenGL y también Vulkan, el nuevo API de gráficos 3D del grupo Khronos, un API de más bajo nivel
orientada a sacar el máximo rendimiento del hardware GPU moderno.
Esta charla se centrará en dos aspectos principales: por una lado, dar una introducción al proyecto Mesa, cubriendo sus fundamentos, aplicaciones y evolución en los últimos años asi como el papel que juega en el stack gráfico de Linux, y por otro, dar una breve introducción al funcionamiento del hardware 3D moderno y como se explota desde APIs como OpenGL o Vulkan.
GPUL Labs Meetup
19 Setembro 2018
https://www.meetup.com/es-ES/GPUL-Labs/events/254337745/
OpenGL es un estándar para gráficos por computadora que surgió en 1992 cuando varias empresas se unieron para desarrollar una librería gráfica de código abierto. OpenGL permite a los programadores interactuar con dispositivos gráficos 3D a través de comandos para definir objetos, aplicar transformaciones, cambiar propiedades y más. Ofrece primitivas geométricas, transformaciones, mapeado de texturas y otros efectos para crear gráficos 3D.
Autocad es un programa de diseño asistido por computadora (CAD) utilizado para crear diseños 2D y 3D. LightWave es una aplicación de modelado, animación y renderizado 3D. ZBrush es un potente programa de diseño 3D que permite la escultura digital y pintura en 3D.
El documento proporciona información sobre la tecnología GPU utilizada en las tarjetas gráficas. Explica que una GPU es una unidad de procesamiento dedicada al procesamiento de gráficos para aliviar la carga de trabajo de la CPU. Luego describe las diferencias entre las GPU y CPU, así como la arquitectura de las GPU, incluidos los componentes clave como los vértices, píxeles, memoria y shaders. Finalmente, resume la última arquitectura GT200 de nVidia, incluidos sus desafíos de tama
Este documento resume la evolución y componentes básicos de las tarjetas de video. Explica que las tarjetas de video se encargan de procesar y mostrar imágenes en pantalla y han mejorado en resolución y capacidad gráfica a lo largo del tiempo. También describe los principales diseñadores de tarjetas gráficas como AMD y NVIDIA y algunos de sus modelos más recientes.
El documento compara las tarjetas gráficas NVIDIA GeForce GTX 285M SLI y ATI Mobility Radeon HD 5870, proporcionando detalles técnicos como el fabricante, velocidad del núcleo, memoria, consumo de energía, tamaño y fecha de lanzamiento para cada una.
Clases de tarjetas de video y fabricantescarlos andres
Este documento describe las diferentes clases de tarjetas gráficas, incluyendo sus componentes principales como la GPU, memoria y interfaz. También explica los tipos antiguos de tarjetas como MDA, CGA y HGC, así como efectos gráficos comunes como antialiasing y mapeado de texturas. Por último, identifica algunos errores comunes relacionados con tarjetas gráficas.
El documento compara las tarjetas gráficas NVIDIA GeForce GTX 285M SLI y ATI Mobility Radeon HD 5870, proporcionando detalles técnicos como el fabricante, velocidad del núcleo, memoria, consumo de energía, entre otros.
En esta presentación, se comentan las nuevas tendencias en cuanto al aprovechamiento de la potencia de las GPUs para la implementación y ejecución de algoritmos, para resolver problemas complejos.
Este documento describe las características principales de las tarjetas gráficas NVIDIA y ATI. NVIDIA ofrece un rendimiento 10 veces mayor que los gráficos integrados y permite reproducir vídeo en alta definición. La GPU GeForce GTX 480 de NVIDIA es un 27% más rápida que otras tarjetas en el mercado. ATI también ofrece un alto rendimiento gráfico y su serie Radeon ha competido con NVIDIA a lo largo de los años.
Este documento describe las características y evolución de las tarjetas gráficas NVIDIA GeForce y ATI Radeon. Explica que las GPU se utilizan para procesar gráficos mediante cálculos en coma flotante y almacenar información gráfica en la memoria. También resume las principales generaciones de GeForce y Radeon, destacando sus especificaciones técnicas clave a lo largo del tiempo.
Una tarjeta gráfica es una tarjeta de expansión que procesa datos de la CPU para representarlos en un dispositivo de salida de forma comprensible. Se han ido actualizando desde las primeras tarjetas 2D hasta las modernas con GPU dedicado, memoria gráfica y salidas como DVI. Requieren instalación correcta y controladores para funcionar adecuadamente.
Una tarjeta gráfica es una tarjeta de expansión que procesa datos de la CPU para representarlos en un dispositivo de salida de forma comprensible. Se han ido evolucionando desde las primeras tarjetas 2D en los años 60 hasta las modernas tarjetas 3D con GPU, memoria gráfica y salidas digitales. Las tarjetas gráficas incluyen componentes como la GPU, memoria RAM gráfica, salidas y sistemas de refrigeración para procesar gráficos y juegos.
Una tarjeta gráfica es una tarjeta de expansión que procesa datos de la CPU para representarlos en un dispositivo de salida de forma comprensible. Se han ido evolucionando desde las primeras tarjetas 2D a las actuales con capacidad 3D, memoria gráfica dedicada, y soporte para efectos avanzados. Una tarjeta típica incluye una unidad de procesamiento gráfico, memoria gráfica, salidas, refrigeración y alimentación.
Este documento describe las tarjetas gráficas o GPU. Explica que una GPU procesa datos de la CPU para representarlos en un monitor y aliviana la carga del procesador central. Luego detalla que la frecuencia del núcleo de la GPU dicta su velocidad y que Nvidia y ATI son fabricantes populares, con Nvidia enfocándose en calidad de imágenes y ATI describiendo las características de sus tarjetas como interfaz, memoria y compatibilidad.
Este documento describe las tarjetas gráficas o GPU. Explica que una GPU procesa datos de la CPU para representarlos en un monitor y aliviana la carga del procesador central. Luego detalla que la frecuencia del núcleo de la GPU dicta su velocidad y que Nvidia y ATI son fabricantes populares, con Nvidia enfocándose en calidad de imágenes y ATI describiendo las características de sus tarjetas como interfaz, memoria y compatibilidad.
Este documento describe las tarjetas gráficas o GPU. Explica que una GPU procesa datos de la CPU para representarlos en un monitor y aliviana la carga del procesador central. Luego detalla que la frecuencia del núcleo de la GPU dicta su velocidad y que Nvidia y ATI son fabricantes populares, con Nvidia enfocándose en calidad de imágenes y ATI en interfaces como PCI Express y soporte a salidas como HDMI.
Una tarjeta gráfica es una tarjeta de expansión que procesa los datos de la CPU para representarlos en un monitor. Las tarjetas más comunes son para PC debido a su popularidad. Algunas tarjetas ofrecen funciones adicionales como captura de video. Las primeras tarjetas fueron MDA en monocromo, CGA en color y HGC en alta resolución monocromo.
Este documento describe varios periféricos externos como tarjetas de video, monitores y proyectores digitales. Explica que una tarjeta gráfica procesa datos de la CPU y los muestra en un dispositivo de salida como un monitor. Luego describe monitores, sus características y evolución, incluyendo CRT, LCD y LED. Finalmente, explica cómo funcionan los proyectores digitales y sus características.
Este documento describe varios periféricos externos como tarjetas de video, monitores y proyectores digitales. Explica que una tarjeta gráfica procesa los datos de la CPU y los muestra en un dispositivo de salida como un monitor. Luego describe las características y componentes de los monitores, incluidos CRT, LCD y LED. Finalmente, explica cómo funcionan los proyectores digitales y sus características como brillo, resolución y conectores.
2. OpenGl
• es una especificación estándar que define una API
multilenguaje y multiplataforma para escribir aplicaciones
que produzcan gráficos 2D y 3D. La interfaz consiste en más
de 250 funciones diferentes que pueden usarse para
dibujar escenas tridimensionales complejas a partir de
primitivas geométricas simples, tales como puntos, líneas y
triángulos. Fue desarrollada originalmente por Silicon
Graphics Inc. (SGI) en 19922 y se usa ampliamente en
CAD, realidad virtual, representación
científica, visualización de información y simulación de
vuelo. También se usa en desarrollo de videojuegos, donde
compite con Direct3D en plataformas Microsoft Windows.
3. Historia
• En los años 1980 el desarrollo de software que fuese compatible con un
amplio rango de hardware gráfico era un verdadero reto para los
desarrolladores. Había que tratar con interfaces muy diferentes y escribir
drivers específicos para cada tipo de hardware, resultando muy costoso;
por ello, se subcontrataban equipos de programadores para agilizar el
desarrollo. Dado que cada equipo trabajaba por separado en sus
interfaces, se producía mucho código redundante. Además, era un
proceso caro, por lo que varios grupos innovadores aceptaron el reto de
encontrar un método mejor.
• Al principio de los años 1990 SGI era un grupo de referencia en gráficos 3D
para estaciones de trabajo. Suya era la API IRIS GL,10 considerada puntera
en el campo y estándar de facto, llegando a eclipsar a PHIGS, basada en
estándares abiertos. IRIS GL se consideraba más fácil de usar y, lo más
importante, soportaba renderizado en modo inmediato.
Además, PHIGS, aparte de su mayor dificultad, fue considerada inferior a
IRIS GL respecto a funcionalidad y capacidad.
4. • La competencia de SGI (Sun Microsystems, Hewlett-Packard e
IBM, entre otros) fue capaz de introducir en el mercado hardware
3D compatible con el estándar PHIGS mediante extensiones. Esto
fue reduciendo la cuota de mercado de SGI conforme iban
entrando diferentes proveedores en el mercado. Por todo ello, en
un intento de fortalecer su influencia en el mercado, SGI decidió
convertir el estándar IRIS GL en un estándar abierto.
• SGI observó que la API IRIS GL no podía ser abierta debido a
conflictos de licencias y patentes; también contenía funciones no
relevantes para los gráficos 3D como APIs para ventanas, teclado o
ratón (en parte, porque fue desarrollada antes de la aparición del X
Window System o de los sistemas NeWS de Sun).
Además, mientras iba madurando el soporte del mercado para el
nuevo estándar, se pretendía mantener los antiguos clientes
mediante bibliotecas añadidas como Iris Inventor o Iris Performer.
5. El resultado de todo lo anterior fue el lanzamiento del
estándar OpenGL.
• Algunos de los logros que se consiguieron fueron:
• Estandarizar el acceso al hardware.
• Trasladar a los fabricantes la responsabilidad del desarrollo
de las interfaces con el hardware.
• Delegar las funciones para ventanas al sistema operativo.
• Con la variedad de hardware gráfico existente, lograr que
todos hablasen el mismo lenguaje obtuvo un efecto
importante, ofreciendo a los desarrolladores de software
una plataforma de alto nivel sobre la que trabajar.
6. • En 1992,11 SGI lideró la creación del OpenGL Architecture Review Board
(OpenGL ARB), grupo de empresas que mantendría y extendería la
especificación OpenGL en los años siguientes. OpenGL evolucionó desde
IRIS GL, superando su problema de dependencia del hardware al ofrecer
emulación software para aquellas características no soportadas por el
hardware del que se dispusiese. Así, las aplicaciones podían utilizar gráficos
avanzados en sistemas relativamente poco potentes.
• En 1994 SGI barajó la posibilidad de lanzar un producto denominado
OpenGL++, el cual incluía elementos como una API de scene-graph (basada
presumiblemente en la tecnología de Performer). Dicha especificación fue
divulgada entre unos pocos grupos interesados, pero nunca apareció
finalmente como producto.12
• En 1995 Microsoft lanzó Direct3D, que se convertiría en el principal
competidor de OpenGL. El 17 de diciembre de 199713 Microsoft y SGI
iniciaron el proyecto Fahrenheit, esfuerzo cooperativo con el objetivo de
unificar las interfaces de OpenGL y Direct3D (y añadir también una API
scene-graph). En 1998 se uniría al proyecto Hewlett-Packard.14 Pese a
tener un principio prometedor en estandarizar las APIs de gráficos 3D,
debido a restricciones financieras en SGI y la falta general de apoyo por
parte de la industria, fue finalmente abandonado en 1999.15
7. Historia versiones
• OpenGL 1.0
• Publicada en enero de 1992.
La primera especificación de OpenGL fue
publicada por Mark Segal y Kurt Akeley.
• OpenGL 1.1
• Publicada en enero de 1997.
OpenGL 1.1 se enfocó en el soporte de texturas
y formatos de textura sobre hardware de GPU.
Tarjetas gráficas soportadas: todas
9. OpenGL 1.2
Publicada el 16 de marzo de 1998.
OpenGL 1.2 se enfocó en el soporte de texturas de volumen, píxeles empaquetados, reescalado
normal, muestreo de texturas clamped/edge y procesamiento de imágenes.
Tarjetas gráficas soportadas: Rage 128, Rage 128 GL, Rage XL/XC, Rage 128 Pro, Rage Fury MAXX,
y todas las tarjetas posteriores.
Extensión Id de extensión Funciones
3D Volume Textures GL_EXT_texture3D glTexImage3DEXT
BGR_EXT, BGRA_EXT (in
BGRA Texture Format GL_EXT_bgra
glTexImage2D)
Packed Pixels GL_EXT_packed_pixels
Normal Rescaling GL_EXT_rescale_normal
GL_EXT_separate_specular
Separate Specular Color
_color
Texture Coord Edge
SGIS_texture_edge_clamp
Clamping
Texture LOD Control SGIS_texture_lod
Draw Range Elements EXT_draw_range_elements glDrawRangeElements
EXT_color_table,
EXT_convolution,
SGI_color_matrix,
Image Processing Subset
EXT_histogram,
EXT_blend_color,
EXT_blend_minmax
10. OpenGL 1.2.1
Publicada el 14 de octubre de 1998
OpenGL 1.2.1 fue un lanzamiento menor publicado depués de
OpenGL 1.2 (16 de marzo de 1998) el cual añadió multi-textura,
o unidades de textura, al canal de renderizado. Esto permitió
texturas múltiples que son combinadas por píxel durante la
rasterización.
Tarjetas gráficas soportadas: Radeon, Radeon Mobility, Radeon
7500 Mobility, Radeon 8500, Radeon 9000, Radeon 9200,
Radeon 9600, Radeon 9800, GeForce 3, GeForce 4Ti, GeForce
FX, y todas las tarjetas posteriores
Extensión Id de extensión Funciones
glActiveTextureARB,
Multi-Texturing SGIS_multitexture
glClientActiveTextureARB
11. • OpenGL 1.3
• Publicada el 14 de agosto de 2001.
OpenGL 1.3 añadió soporte para textura cubemap, múltiples
texturas, multi-muestreo y operaciones de combinación de
unidades de textura (añadir, combinar, dot3, border clamp).
Tarjetas gráficas soportadas: Radeon 32/36, Radeon 64/7200,
Radeon 7000, Radeo AIW, Radeon 7500, Radeon IGP 320M,
Radeon IGP 345M, ES1000, Radeon 8500, Radeon 9000/Pro,
Radeon 9100/9200/9250 (Pro & IGP), GeForce 3, GeForce 4Ti,
GeForce FX, y todas las tarjetas posteriores.
12. • OpenGL 1.4
• Publicada el 24 de julio de 2002.
OpenGL 1.4 añadió soporte de sombreado por
hardware, coordenadas niebla, generación automática de
mipmaps, y modos de textura adicionales.
Tarjetas gráficas soportadas: Quadro DCC, Quadro4 380
XGL, Quadro4 500XGL, 550XGL, Quadro4
700XGL, 750XGL, 900XGL, 980XGL, y todas las tarjetas
posteriores.
13. • OpenGL 1.5
• Publicada el 29 de julio de 2003.
OpenGL 1.5 añadió soporte para objetos de búfer de vértice
(VBOs), consultas de oclusión, y amplió las funciones de
sombreado.
Tarjetas gráficas soportadas: Radeon X800, Radeon
9600, Radeon 9700, Radeon 9800, GeForce FX, y todas las
tarjetas posteriores.
14. • OpenGL 2.0
• OpenGL 2.0 añadió soporte para un lenguaje ensamblador basado en GPU
verdadero, llamado ARB (diseñado por el Architecture Review Board), que se
convertiría en el estándar para vertex y fragment shaders. Las tarjetas
publicadas con OpenGL 2.0 fueron las primeras en ofrecer shaders
programables por el usuario.
• OpenGL 2.0 fue concebido por 3Dlabs para abordar las preocupaciones de que
OpenGL estaba estancado y carecía de una dirección fuerte. 3Dlabs propuso
una serie de importantes adiciones a la norma. La mayoría de estas fueron, en
ese momento, rechazadas por el ARB o de otra manera nunca llegaron a
realizarse en la forma que 3Dlabs propuso. Sin embargo, su propuesta de un
lenguaje de sombreado de estilo C se completó con el tiempo, resultando en la
formulación actual del GLSL (OpenGL Shading Language, también slang).Al
igual que los lenguajes de sombreado estilo-ensamblador que trataba de
sustituir, permite al programador sustituir los fixed-function vertex y el
fragment pipe con shaders, aunque esta vez escritos en un lenguaje tipo C de
alto nivel.
• El diseño de GLSL se destacó por hacer relativamente pocas concesiones a las
limitaciones del hardware entonces disponible, lo que recordaba a la tradición
anterior de OpenGL estableciendo un objetivo ambicioso, con visión de futuro
para los aceleradores 3D en lugar de simplemente seguir el estado de
hardware disponible actualmente. La última especificación OpenGL 2.016
incluye soporte para GLSL.
15. • OpenGL 2.1
• El 2 de agosto de 2006 se publicó OpenGL 2.1. Siendo
completamente compatible con las versiones
anteriores, aporta además nuevas características como:
• Revisión 1.20 del OpenGL Shading Language (GLSL).
• Comandos que soportan la especificación de matrices no
cuadradas.
• Objetos Pixel buffer para acelerar el tráfico de imágenes en
los buffers en comandos
como glTexImage2D y glReadPixels.
• Esta funcionalidad corresponde a la
extensión ARB_pixel_buffer_object.Texturas sRGB.
• Esta funcionalidad corresponde a la
extensión GL_EXT_texture_sRGB.
16. • OpenGL 3.0
• OpenGL 3.1
• La versión 3.1 (Longs Peak Reloaded) fue publicada el 24 de marzo de 2009, y
presenta una serie de características para hacer la API más conveniente de utilizar,
además de las características orientadas al rendimiento:
• Lenguaje de Sombreado OpenGL revisión 1.40 (GLSL)
• Texture Buffer Objects - un tipo de nueva textura que contiene una matriz
unidimensional de texels
• Uniform Buffer Objects para compartir o actualñizar datos de forma rápida
• Texturas normalizadas firmadas (rango ± 1,0)
• Un mínimo de 16 unidades de textura accesibles por el Vertex Shader
• Reinicio de primitiva
• Instancias - dibujo de objetos en múltiples ocasiones a través de la reutilización de
los vertex data
• CopyBuffer API para copia rápida de datos, utilizada en conjunto con OpenCL
• Con la liberación de la especificación OpenGL 3.1, también fue publicada una
extensión de compatibilidad que permite a los desarrolladores acceder a la
funcionalidad de OpenGL 1.X/2.X eliminada en OpenGL 3.1. En particular, se
mantiene funcionalidad legacy para una amplia línea de soporte.
17. • OpenGL 3.1
• OpenGL 3.1
• La versión 3.1 (Longs Peak Reloaded) fue publicada el 24 de marzo de 2009, y
presenta una serie de características para hacer la API más conveniente de
utilizar, además de las características orientadas al rendimiento:
• Lenguaje de Sombreado OpenGL revisión 1.40 (GLSL)
• Texture Buffer Objects - un tipo de nueva textura que contiene una matriz
unidimensional de texels
• Uniform Buffer Objects para compartir o actualñizar datos de forma rápida
• Texturas normalizadas firmadas (rango ± 1,0)
• Un mínimo de 16 unidades de textura accesibles por el Vertex Shader
• Reinicio de primitiva
• Instancias - dibujo de objetos en múltiples ocasiones a través de la reutilización
de los vertex data
• CopyBuffer API para copia rápida de datos, utilizada en conjunto con OpenCL
• Con la liberación de la especificación OpenGL 3.1, también fue publicada una
extensión de compatibilidad que permite a los desarrolladores acceder a la
funcionalidad de OpenGL 1.X/2.X eliminada en OpenGL 3.1. En particular, se
mantiene funcionalidad legacy para una amplia línea de soporte.
18. • OpenGL 3.2
• La versión 3.2 fue publicada el 3 de agosto de 2009.
Incluye las siguientes características:
• Lenguaje de Sombreado OpenGL revisión 1.50 (GLSL)
• Soporte de Geometría Shader
• BGRA vértice componente de pedidos
• Fragmento Shader coordinar el control de convención
• Perfecta mapa cubo filtrado
• Fragmento de profundidad de sujeción
• Multisampled texturas y textura de las muestras para
lugares específicos de la muestra
• Objetos de sincronización y cerca
19. • OpenGL 3.3
• OpenGL 3.3, simultáneamente lanzado con
OpenGL 4.0 y complementada por un
conjunto de nuevas extensiones ARB, porta
tanta funcionalidad como es posible desde la
especificación OpenGL 4.0 para su uso en la
generación anterior de hardware GPU. Incluye
GLSL 3.30.
20. • OpenGL 4.0
• Tarjetas compatibles: Radeon HD serie 5000, nVidia GTX serie 400;
• Características:19
• OpenGL Shading Language versión 4.00 (GLSL)
• Dos fases de sombreado que permiten a la GPU descargar el teselado
geométrico de la CPU.
• Per-shaders fragmento de la muestra y de sombreado programable
posiciones fragmento de entrada para mayor calidad de representación y
anti-aliasing de flexibilidad.
• Subrutinas Shader para una flexibilidad de programación aumentada
significativamente.
• Separación del estado de textura y de los datos de textura mediante la
adición de un nuevo tipo de objeto llamado sampler objetos.
• Dibujo de los datos generados por el API de OpenGL o APIs externos, tales
como OpenCL, sin intervención de la CPU.
• Operaciones de 64-bit de coma flotante de doble precisión de sombreado
y entradas / salidas para prestar mayor precisión y calidad.
• Mejoras de rendimiento, tales como shaders de geometría en instancias,
instancias matrices y una consulta de nuevo temporizador.
21. • OpenGL 4.1
• Tarjetas soportadas: Nvidia GeForce 400 series, Nvidia GeForce 500
series, ATI Radeon HD 5000 series, AMD Radeon HD 6000 Series
• Esta nueva versión añade estas características adicionales a la
especificación, muchas de las cuales ayudan a ponerla en
consonancia con las de Direct3D 11:
• Lenguaje de sombreado OpenGL (GLSL) 4.1
• Compatibilidad completa con OpenGL para sistemas integrados
(OpenGL ES) 2.0
• Reducción de tiempos de recompilación
• La capacidad de vincular los programas de forma individual a las
cinco etapas programables (Vertex, Control de mosaico, Evaluación
de el Teselado, la Geometría, y Fragmento)
• Mejoras a la coma flotante general de 64 bits compatible con
agregado en OpenGL 4.0eral de 64 bits compatible con agregado en
OpenGL 4.0
22. • OpenGL 4.2
• Tarjetas soportadas: Nvidia GeForce 400 series, Nvidia GeForce 500
series, ATI Radeon HD 5000 series, AMD Radeon HD 6000 Series, ATI
Radeon HD 7000 series
• Soporte para shaders con contadores atómicos y load/store/atomic
read-modify-write operations en un único nivel de una textura.
• Capacidad de capturar geometría de la GPU en mosaico y dibujar
varias instancias de una "transform feedback " para que los objetos
complejos sean fácilmente replicados o cambiados de posición.
• OpenGL puede modificar ahora un subconjunto arbitrario de una
textura comprimida sin necesidad de volver a descargar toda la
textura a la GPU llevando esto a un mayor rendimiento.
• Soporte para empaquetar varios valores de 8 bits y 16 bits en un
único valor de 32 bits, llevando a un procesamiento más eficiente
del shader y presión reducida en la memoria y el ancho de banda.
23. OpenGL 4.3
• 201222 Tarjetas Soportadas: Nvidia GeForce 400 series, Nvidia GeForce 500 series, Nvidia GeForce
600 series
• Incluye la versión más actualizada de GLSL en su versión 4.30 (OpenGL Shading Language).
• Cálculo de shaders que aprovechan el paralelismo de la GPU para todo lo relacionado con geometría
o gráficos.
• Almacenamiento en búfer de objetos Shader.
• Consultas de parámetros de texturas para hallar los límites que las plataformas pueden tener para
procesar las mismas.
• Alta calidad de comprensión en texturas ETC2/EAC como característica estándar.
• Compatibilidad total con las APIs de OpenGL ES 3.0.
• Capacidades de depuración que permiten recibir mensajes de depuración mientras se desarrolla la
aplicación.
• Vistas de texturas para análisis de las mismas en diferentes formas sin replicación de datos.
• Incrementa la seguridad de la memoria.
• Una extensión multi-aplicación que añade robustez al sistema, e impide que las aplicaciones que
provoquen un fallo y tengan que resetearse afecten a otras que estén en ejecución.
24. OpenGl Comparada con
directx de microsoft
• Si nos guiamos por la portabilidad, DirectX difícilmente
supera a OpenGL, dada su gran dependencia con Windows
y sus componentes. Fuera de este sistema
operativo, solamente se encuentra implementada en la
consola Xbox. En cambio, OpenGL es compatible no sólo
con WindSows, sino que se utiliza en sistemas
Unix, Linux, Macy hasta en consolas como PlayStation 3 y
Nintendo Wii. En resumen: Exceptuando Windows y
Xbox, todos los sistemas que proveen soporte para
aceleración 3D han escogido a OpenGL. Por algo
será, ¿No?. . Además, OpenGL fue diseñada para asegurar
retrocompatibilidad. Es decir, la primera versión de OpenGL
puede ser compilada y ejecutada por la última versión sin
ningún problema.
25. • La diferencia principal es que DirectX es una
API cuya plataforma se basa en lo que el
hardware es capaz de realizar, mientras que
OpenGL es un tanto más independiente. A su
vez, de su implimentacion depende la
administración de los recursos, algo que en
DirectX corre por cuenta de la aplicación. Esto
hace que sea más proponeso a sufrir los
temidos errores de propagación (mejor
conocidos como bugs).
26. lenguajes
• Fortran 90 OpenGL Bindings
• f90gl es una implementación de dominio público de los
oficiales de Fortran 90 enlaces para OpenGL. Con los
nuevos enlaces, un programador puede escribir Fortran
que sigan los estándares de las aplicaciones gráficas
que serán portátil en la mayoría de plataformas
informáticas. La versión actual es la Versión 1.2.3 Esta
versión implementa la interfaz para OpenGL 1.2, 1.2
GLU, GLUT 3,7, y varias extensiones. Es compatible con
varias estaciones de trabajo Unix y Windows
95/98/NT. También es la interfaz de Fortran para Mesa.
27. • Java enlaces para OpenGL
• Los JOGL Java / OpenGL enlaces
– El proyecto JOGL acoge la versión de desarrollo de Java ™
de la unión de la API OpenGL (JSR-231), y está diseñado
para proporcionar el hardware de gráficos compatibles 3D
para aplicaciones escritas en Java. JOGL proporciona
acceso completo a la API de OpenGL en el 1,3 a 3,0, 3,1 -
3,3, ≥ 4,0, ES 1.x y especificación ES 2.x, así como casi
todas las extensiones de proveedor. Se integra con el AWT
y columpios widget, así como con kits de herramientas de
ventanas personalizadas con la API de
NativeWindow. Forma parte de un conjunto de tecnologías
de código abierto iniciado por el Grupo de Tecnología de
Juegos de Sun Microsystems. Por favor vea las demos
JOGL para las ilustraciones de las técnicas avanzadas de
OpenGL ahora es posible con la plataforma Java.
28. • Lightweight Java Game Library
Dirigido a programadores Java profesionales y
aficionados por igual con soporte para OpenGL,
OpenAL, gamepads, volante y Joysticks
• Java 3D (retenido SUN biblioteca modo de capas
en OpenGL)
• Java 3D para Mac OS X
• OpenGL para Java (GL4Java)
• YAJOGLB (otro Java OpenGL Binding)
• JGL: una biblioteca de gráficos 3D para Java
29. • Perl OpenGL Bindings
• Perl OpenGL (POGL) Módulo es un binario Perl
vinculante de OpenGL que soporta el procesamiento
GPGPU.
• Perl enlaces OpenGL 0,64 - Módulo de Perl para
mostrar datos en 3D usando OpenGL, GLU, GLUT y GLU
GLXf es compatible y GLUT debe contar con el apoyo
de hasta API versión 3
• OpenGL Perl, C y Puntos de Referencia de Python
• Pike OpenGL Bindings
• Pike tiene una interfaz nativa de OpenGL. Además de
Pikes Pike apoyo GL también soporta GLU y GLUT.
30. • Python Bindings OpenGL
• PyOpenGL es una fuente multi-plataforma
abierta Python vinculante a la norma API OpenGL
proporciona 2-D y 3-D de dibujo gráfico.
PyOpenGL apoya el GL, GLU, GLUT y bibliotecas.
La biblioteca se puede utilizar con el Tkinter,
wxPython, FxPy, y bibliotecas Win32GUI de
ventanas (o casi cualquier biblioteca de ventanas
que puede proporcionar un contexto OpenGL).
• PyGlut hace GLUT disponible en el intérprete de
Python.
31. • Delphi Bindings
• OpenGL Delphi Bindings ( alemán )
• Ada OpenGL Bindings
• Ada bindings OpenGL soporta GL & GLU y GLUT.
• OpenGL y Visual Basic
• Programación OpenGL con Visual Basic
• Un control ActiveX de la aplicación de OpenGL
1.1. para su uso con Visual Basic
• OpenGL y Visual Basic
• Visual Basic fragmentos de código y archivos
32. Proyectos construidos en OpenGl
• GruaGl
se trata de un proyecto realizado para la asignatura Diseño
Asistido Por Computador (DAC) de la Universidad de Granada.
El lenguaje de programación usado es C y la api OpenGl.
• Proyecto Dado en openGL con Mono
• Robot en opengl
• Sistema Solar en Opengl
33. • Como lo habiamos mencionado anteriormente en
opengl es posible realizar todo tipo de graficos en 3d
como por ejemplo un juego, y es justamente un juego
muy sencillo pero antiguo pacman.
Para este juego se emplearon cubos, esferas, triangulos
y otros. Para empezar se preparó la plataforma del
juego, acomodando cubos de distintas dimenciones
para los caminos, luego se le dió forma a los
"mounstritos" y se configuró su desplazamiento lo cual
fué algo complicado de programar. También se
acomodaron las esferas que se deben "comer".