SlideShare una empresa de Scribd logo
1 de 14
OPENGL Introducción al Vladimir de la Cruz -2010
OpenGL es una Interfaz de Programación de Aplicaciones (API), basada en procedimientos de bajo nivel, multiplataforma,  soportada por múltiples lenguajes,  que abstrae las diferentes funciones y procesamientos de gráficos por computadora en 2D y en 3D sobre las plataformas de hardware. La responsable de  Open Graphics Library  es Silicon Graphics Incorporated ( SGI ), la cual en 1992, SGI comenzaría la creación de OpenGL partiendo de su antecesor  IrisGL , con el objetivo de que fuese una plataforma de código abierto, para el desarrollo de aplicaciones gráficas por computadora. OPENGL http://sabia.tic.udc.es/gc/Tutorial%20OpenGL/tutorial/cap1.htm#_Toc535127309 API (conjunto de técnicas, funciones y métodos utilizados para establecer una comunicación entre los diferentes niveles o capas de un software)
OpenGL vs DirectX DIRECTX11 OPENGL 4.1 OPENGL 3 Característica OpenGL DirectX Multiples sistemas operativos Yes No Extension Mechanism Yes Yes Desarrollo Multiple member Board Microsoft Two-sided lighting Yes No Volume Textures Yes No Hardware independent Z-buffers Yes No Accumulation buffers Yes No Full-screen Antialiasing Yes Yes Motion Blur Yes Yes Depth of field Yes Yes Stereo Rendering Yes No Point-size/line-width attributes Yes No Picking Yes No Parametric curves and surfaces Yes No Cache geometry Display Lists Vertex Buffers System emulation Hardware not present Let app determine Interface Procedure calls COM Actualizaciones Anuales Anuales Código Fuente Muestra SDK Implementation DIRECTX 11
Algunas Características de OPENGL ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
El funcionamiento básico de OpenGL consiste en aceptar primitivas tales como puntos, líneas y polígonos, y convertirlas en píxeles. Este proceso es realizado por una arquitectura gráfica conocida como la Maquina de Estados de OpenGL. OpenGL como máquina de estados La utilización de OpenGL consiste en activar y desactivar opciones, y realizar ciertas acciones, que tendrán como fruto la representación o no, en pantalla, de una serie de datos, dependiendo en el estado en que nos encontremos. http://books.google.co.ve/books?id=ahb5bqeLROAC&pg=PA43&lpg=PA43&dq=game+irisgl&source=bl&ots=G4IBs4qHwx&sig=mJ6TnskRMJgd2aS45iCPAiLwN_0&hl=es&ei=dMB-TNeaO8KqlAf11uTvAw&sa=X&oi=book_result&ct=result&resnum=4&ved=0CCgQ6AEwAw#v=onepage&q&f=false
El espacio 3D OpenGL trabaja, a grandes rasgos, en un espacio de tres dimensiones, aunque veremos que realmente, trabaja con coordenadas homogéneas (de cuatro dimensiones). Las tres dimensiones que nos interesan ahora son las especificadas por un sistema 3D ortonormal. Es decir, sus ejes son perpendiculares, y cada unidad en uno de ellos está representada por un vector de módulo 1 Y+ Y- Z+ Z- X+ X- 1  0  0  0 0  1  0  0 0  0  1  0 0  0  0  1
Primitivas en OpenGL
Primitivas en OpenGL
Ejemplo de declaración y uso de primitivas: glBegin( TIPO );       glVertex3f( p0x, p0y, p0z );       glVertex3f( p1x, p1y, p1z );       glVertex3f( p2x, p2y, p2z );      .....       glVertex3f( p7x, p7y, p7z );   glEnd(); En donde  glVertex3f( 0.0 , 0.0 , 0.0 );   EQUIVALE a...  GLfloat vertice[3] = { 0.0, 0.0, 0.0 };     y después...  glVertexfv( vertice );   OpenGL tiene tipos de datos definidos por esta librería que se anteceden por el prefijo GL (GLint, GLfloat, GLdouble) aunque se pueden usar los típicos (int, float, double). Primitivas en OpenGL
La traslación es el desplazamiento de un objeto en el espacio. Para simular la translación en OpenGL, de todos los objetos sobre una matriz se utiliza:   glTranslate  (x, y, z); Transformaciones. Traslación
Un objeto puede representarse con diferente tamaño cambiando su escalado. Para simular el escalado en OpenGL, en el sentido de las agujas del reloj, sobre el  radio de origen en el punto x,y,z, se  utiliza: Transformaciones. Escalado glScale (x, y, z);
Es la acción de mover un objeto alrededor de un eje. Para simular la rotación en OpenGL, en el sentido de las agujas del reloj, sobre el  radio de origen en el punto x,y,z, se  utiliza: Transformaciones. Rotación glRotate  (ángulo, x, y, z);
Color en OpenGL ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],OpenGL puede utilizar dos modos de color: color RGBA y color indexado.
A codificar!

Más contenido relacionado

La actualidad más candente

Clases abstractas e interfaces (AlexandraPerez)
Clases abstractas e interfaces (AlexandraPerez)Clases abstractas e interfaces (AlexandraPerez)
Clases abstractas e interfaces (AlexandraPerez)Alexandra Pérez
 
Algoritmos de Dekker
Algoritmos de DekkerAlgoritmos de Dekker
Algoritmos de Dekkermastermind87
 
Diagrama de actividades uml
Diagrama de actividades umlDiagrama de actividades uml
Diagrama de actividades umlcamiloan40
 
Diferencia entre Swing y Awt
Diferencia entre Swing y AwtDiferencia entre Swing y Awt
Diferencia entre Swing y AwtValentinaCely
 
Requerimientos no funcionales
Requerimientos no funcionalesRequerimientos no funcionales
Requerimientos no funcionalesAngel Minga
 
Calidad Y El Mundo Globalizado
Calidad Y El Mundo GlobalizadoCalidad Y El Mundo Globalizado
Calidad Y El Mundo Globalizadocalidadsoftware
 
Diseño de software modelo lineal (presentacion)
Diseño de software   modelo lineal (presentacion)Diseño de software   modelo lineal (presentacion)
Diseño de software modelo lineal (presentacion)Marco Antonio Perez Montero
 
Pasteleriabasededatos
PasteleriabasededatosPasteleriabasededatos
PasteleriabasededatosEmmanuelMax3
 
Planificacion y modelado para una ferreteria
Planificacion y modelado para una ferreteriaPlanificacion y modelado para una ferreteria
Planificacion y modelado para una ferreteriaErick Domínguez Canseco
 
Calidad Y El Mundo Globalizado
Calidad Y El Mundo GlobalizadoCalidad Y El Mundo Globalizado
Calidad Y El Mundo GlobalizadoSistemOper
 
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y libreriasTópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y libreriasJosé Antonio Sandoval Acosta
 

La actualidad más candente (20)

Clases abstractas e interfaces (AlexandraPerez)
Clases abstractas e interfaces (AlexandraPerez)Clases abstractas e interfaces (AlexandraPerez)
Clases abstractas e interfaces (AlexandraPerez)
 
Mitos de-software.
Mitos de-software.Mitos de-software.
Mitos de-software.
 
Algoritmos de Dekker
Algoritmos de DekkerAlgoritmos de Dekker
Algoritmos de Dekker
 
Diagrama de actividades uml
Diagrama de actividades umlDiagrama de actividades uml
Diagrama de actividades uml
 
Diferencia entre Swing y Awt
Diferencia entre Swing y AwtDiferencia entre Swing y Awt
Diferencia entre Swing y Awt
 
Requerimientos no funcionales
Requerimientos no funcionalesRequerimientos no funcionales
Requerimientos no funcionales
 
Calidad Y El Mundo Globalizado
Calidad Y El Mundo GlobalizadoCalidad Y El Mundo Globalizado
Calidad Y El Mundo Globalizado
 
Diseño de software modelo lineal (presentacion)
Diseño de software   modelo lineal (presentacion)Diseño de software   modelo lineal (presentacion)
Diseño de software modelo lineal (presentacion)
 
Sesion12-Componentes AWT
Sesion12-Componentes AWTSesion12-Componentes AWT
Sesion12-Componentes AWT
 
Modelos de simulación de sistemas
Modelos de simulación de sistemasModelos de simulación de sistemas
Modelos de simulación de sistemas
 
Pasteleriabasededatos
PasteleriabasededatosPasteleriabasededatos
Pasteleriabasededatos
 
TARJETAS CRC
TARJETAS CRCTARJETAS CRC
TARJETAS CRC
 
Diagramas De Caso De Uso
Diagramas De Caso De UsoDiagramas De Caso De Uso
Diagramas De Caso De Uso
 
Planificacion y modelado para una ferreteria
Planificacion y modelado para una ferreteriaPlanificacion y modelado para una ferreteria
Planificacion y modelado para una ferreteria
 
Calidad Y El Mundo Globalizado
Calidad Y El Mundo GlobalizadoCalidad Y El Mundo Globalizado
Calidad Y El Mundo Globalizado
 
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y libreriasTópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
 
Tienda virtual
Tienda virtual Tienda virtual
Tienda virtual
 
15 Curso de POO en java - estructuras repetitivas
15 Curso de POO en java - estructuras repetitivas15 Curso de POO en java - estructuras repetitivas
15 Curso de POO en java - estructuras repetitivas
 
Gestion de memoria en Linux
Gestion de memoria en LinuxGestion de memoria en Linux
Gestion de memoria en Linux
 
Compiladores, Analisis Lexico
Compiladores, Analisis LexicoCompiladores, Analisis Lexico
Compiladores, Analisis Lexico
 

Similar a Introduccion al OpenGL

Manual de Practicas de Open GL con Dev C++
Manual de Practicas de Open GL con Dev C++Manual de Practicas de Open GL con Dev C++
Manual de Practicas de Open GL con Dev C++Alincita Simon
 
Open gl endcynthia
Open gl endcynthiaOpen gl endcynthia
Open gl endcynthiacynthitap
 
Open gl. endcynthia
Open gl. endcynthiaOpen gl. endcynthia
Open gl. endcynthiacynthitap
 
Open gl. endcynthia
Open gl. endcynthiaOpen gl. endcynthia
Open gl. endcynthiacynthitap
 
Manual de practicas segundo parcial
Manual de practicas segundo parcialManual de practicas segundo parcial
Manual de practicas segundo parcialGuillermo Mendoza
 
Practicas OpenglC++
Practicas OpenglC++Practicas OpenglC++
Practicas OpenglC++jesicecytem
 
Direct Xy Open Gl
Direct Xy Open GlDirect Xy Open Gl
Direct Xy Open Glguest5506a9
 
Proyecto de reneya terminado
Proyecto de reneya terminadoProyecto de reneya terminado
Proyecto de reneya terminadojesicecytem
 
Proyecto de reneya terminado
Proyecto de reneya terminadoProyecto de reneya terminado
Proyecto de reneya terminadoKaren_Avilaa
 
Introducción a las librerías PyGame y PyOpenGL
Introducción a las librerías PyGame y PyOpenGLIntroducción a las librerías PyGame y PyOpenGL
Introducción a las librerías PyGame y PyOpenGLkdeespana
 
Intro opengl
Intro openglIntro opengl
Intro openglsispro
 
Presentacion Blogs Blogger Blogspot
Presentacion Blogs Blogger BlogspotPresentacion Blogs Blogger Blogspot
Presentacion Blogs Blogger BlogspotBG Delgado
 
22 07-13 eclipse grupo 6
22 07-13 eclipse grupo 622 07-13 eclipse grupo 6
22 07-13 eclipse grupo 6Maga Lasic
 

Similar a Introduccion al OpenGL (20)

Manual de Practicas de Open GL con Dev C++
Manual de Practicas de Open GL con Dev C++Manual de Practicas de Open GL con Dev C++
Manual de Practicas de Open GL con Dev C++
 
Buenooo opengl
Buenooo openglBuenooo opengl
Buenooo opengl
 
Open gl endcynthia
Open gl endcynthiaOpen gl endcynthia
Open gl endcynthia
 
Open gl. endcynthia
Open gl. endcynthiaOpen gl. endcynthia
Open gl. endcynthia
 
Open gl. endcynthia
Open gl. endcynthiaOpen gl. endcynthia
Open gl. endcynthia
 
Open gl chica
Open gl chicaOpen gl chica
Open gl chica
 
Manual de practicas segundo parcial
Manual de practicas segundo parcialManual de practicas segundo parcial
Manual de practicas segundo parcial
 
Practicas OpenglC++
Practicas OpenglC++Practicas OpenglC++
Practicas OpenglC++
 
Direct Xy Open Gl
Direct Xy Open GlDirect Xy Open Gl
Direct Xy Open Gl
 
Proyecto de reneya terminado
Proyecto de reneya terminadoProyecto de reneya terminado
Proyecto de reneya terminado
 
Proyecto de reneya terminado
Proyecto de reneya terminadoProyecto de reneya terminado
Proyecto de reneya terminado
 
Estela y naye
Estela y nayeEstela y naye
Estela y naye
 
Introducción a las librerías PyGame y PyOpenGL
Introducción a las librerías PyGame y PyOpenGLIntroducción a las librerías PyGame y PyOpenGL
Introducción a las librerías PyGame y PyOpenGL
 
Intro opengl
Intro openglIntro opengl
Intro opengl
 
Gpu Lorena[1]
Gpu Lorena[1]Gpu Lorena[1]
Gpu Lorena[1]
 
Mini introopengl
Mini introopenglMini introopengl
Mini introopengl
 
Gps
GpsGps
Gps
 
Gps
GpsGps
Gps
 
Presentacion Blogs Blogger Blogspot
Presentacion Blogs Blogger BlogspotPresentacion Blogs Blogger Blogspot
Presentacion Blogs Blogger Blogspot
 
22 07-13 eclipse grupo 6
22 07-13 eclipse grupo 622 07-13 eclipse grupo 6
22 07-13 eclipse grupo 6
 

Más de Refresh Maracaibo

Big data vs expertos - Adrián Plattner @adrianplattner
Big data vs expertos - Adrián Plattner  @adrianplattnerBig data vs expertos - Adrián Plattner  @adrianplattner
Big data vs expertos - Adrián Plattner @adrianplattnerRefresh Maracaibo
 
Tablets, ¿dos años de historia? por Jorge León. @jorgeleon
Tablets, ¿dos años de historia? por Jorge León. @jorgeleonTablets, ¿dos años de historia? por Jorge León. @jorgeleon
Tablets, ¿dos años de historia? por Jorge León. @jorgeleonRefresh Maracaibo
 
dotCMS: un Web CMS Open Source de perfil empresarial
dotCMS: un Web CMS Open Source de perfil empresarialdotCMS: un Web CMS Open Source de perfil empresarial
dotCMS: un Web CMS Open Source de perfil empresarialRefresh Maracaibo
 
GALL: Tablero de estadísticas para redes sociales. Configuración y Expansión ...
GALL: Tablero de estadísticas para redes sociales. Configuración y Expansión ...GALL: Tablero de estadísticas para redes sociales. Configuración y Expansión ...
GALL: Tablero de estadísticas para redes sociales. Configuración y Expansión ...Refresh Maracaibo
 
Un lector de RSS sencillo para Blackberry - Jorge Urdaneta @jorgeu
Un lector de RSS sencillo para Blackberry -  Jorge Urdaneta @jorgeuUn lector de RSS sencillo para Blackberry -  Jorge Urdaneta @jorgeu
Un lector de RSS sencillo para Blackberry - Jorge Urdaneta @jorgeuRefresh Maracaibo
 
Proyecto: El libro tuitero - Olinto Rodríguez @olintex
Proyecto: El libro tuitero - Olinto Rodríguez @olintexProyecto: El libro tuitero - Olinto Rodríguez @olintex
Proyecto: El libro tuitero - Olinto Rodríguez @olintexRefresh Maracaibo
 
Introducción al desarrollo en múltiples dispositivos con Adobe AIR
Introducción al desarrollo en múltiples dispositivos con Adobe AIRIntroducción al desarrollo en múltiples dispositivos con Adobe AIR
Introducción al desarrollo en múltiples dispositivos con Adobe AIRRefresh Maracaibo
 
Blender herramienta libre para diseño y modelado 3D
Blender herramienta libre para diseño y modelado 3DBlender herramienta libre para diseño y modelado 3D
Blender herramienta libre para diseño y modelado 3DRefresh Maracaibo
 
Introducción a la Realidad Aumentada
Introducción a la Realidad AumentadaIntroducción a la Realidad Aumentada
Introducción a la Realidad AumentadaRefresh Maracaibo
 
Desarrollo rapido de aplicaciones web en php con el framework cakephp + scaffold
Desarrollo rapido de aplicaciones web en php con el framework cakephp + scaffoldDesarrollo rapido de aplicaciones web en php con el framework cakephp + scaffold
Desarrollo rapido de aplicaciones web en php con el framework cakephp + scaffoldRefresh Maracaibo
 
Desarrollo de aplicaciones para Android
Desarrollo de aplicaciones para AndroidDesarrollo de aplicaciones para Android
Desarrollo de aplicaciones para AndroidRefresh Maracaibo
 
Desarrollo de aplicaciones móviles con Phonegap
Desarrollo de aplicaciones móviles con PhonegapDesarrollo de aplicaciones móviles con Phonegap
Desarrollo de aplicaciones móviles con PhonegapRefresh Maracaibo
 
Introducción al desarrollo de aplicaciones para Blackberry
Introducción al desarrollo de aplicaciones para BlackberryIntroducción al desarrollo de aplicaciones para Blackberry
Introducción al desarrollo de aplicaciones para BlackberryRefresh Maracaibo
 
Solución: Google Voice + Gizmo + Asterisk para hacer y recibir llamadas a USA...
Solución: Google Voice + Gizmo + Asterisk para hacer y recibir llamadas a USA...Solución: Google Voice + Gizmo + Asterisk para hacer y recibir llamadas a USA...
Solución: Google Voice + Gizmo + Asterisk para hacer y recibir llamadas a USA...Refresh Maracaibo
 
Aproximación al perfil de los usuarios de Twitter el #26S
Aproximación al perfil de los usuarios de Twitter el #26SAproximación al perfil de los usuarios de Twitter el #26S
Aproximación al perfil de los usuarios de Twitter el #26SRefresh Maracaibo
 
Uso del Twitter en las elecciones del 26S
Uso del Twitter en las elecciones del 26S Uso del Twitter en las elecciones del 26S
Uso del Twitter en las elecciones del 26S Refresh Maracaibo
 
DB relacionales vs DB documentales
DB relacionales vs DB documentalesDB relacionales vs DB documentales
DB relacionales vs DB documentalesRefresh Maracaibo
 

Más de Refresh Maracaibo (20)

Big data vs expertos - Adrián Plattner @adrianplattner
Big data vs expertos - Adrián Plattner  @adrianplattnerBig data vs expertos - Adrián Plattner  @adrianplattner
Big data vs expertos - Adrián Plattner @adrianplattner
 
Tablets, ¿dos años de historia? por Jorge León. @jorgeleon
Tablets, ¿dos años de historia? por Jorge León. @jorgeleonTablets, ¿dos años de historia? por Jorge León. @jorgeleon
Tablets, ¿dos años de historia? por Jorge León. @jorgeleon
 
dotCMS: un Web CMS Open Source de perfil empresarial
dotCMS: un Web CMS Open Source de perfil empresarialdotCMS: un Web CMS Open Source de perfil empresarial
dotCMS: un Web CMS Open Source de perfil empresarial
 
GALL: Tablero de estadísticas para redes sociales. Configuración y Expansión ...
GALL: Tablero de estadísticas para redes sociales. Configuración y Expansión ...GALL: Tablero de estadísticas para redes sociales. Configuración y Expansión ...
GALL: Tablero de estadísticas para redes sociales. Configuración y Expansión ...
 
Un lector de RSS sencillo para Blackberry - Jorge Urdaneta @jorgeu
Un lector de RSS sencillo para Blackberry -  Jorge Urdaneta @jorgeuUn lector de RSS sencillo para Blackberry -  Jorge Urdaneta @jorgeu
Un lector de RSS sencillo para Blackberry - Jorge Urdaneta @jorgeu
 
Proyecto: El libro tuitero - Olinto Rodríguez @olintex
Proyecto: El libro tuitero - Olinto Rodríguez @olintexProyecto: El libro tuitero - Olinto Rodríguez @olintex
Proyecto: El libro tuitero - Olinto Rodríguez @olintex
 
Introducción al desarrollo en múltiples dispositivos con Adobe AIR
Introducción al desarrollo en múltiples dispositivos con Adobe AIRIntroducción al desarrollo en múltiples dispositivos con Adobe AIR
Introducción al desarrollo en múltiples dispositivos con Adobe AIR
 
Blender herramienta libre para diseño y modelado 3D
Blender herramienta libre para diseño y modelado 3DBlender herramienta libre para diseño y modelado 3D
Blender herramienta libre para diseño y modelado 3D
 
Introducción a la Realidad Aumentada
Introducción a la Realidad AumentadaIntroducción a la Realidad Aumentada
Introducción a la Realidad Aumentada
 
Desarrollo rapido de aplicaciones web en php con el framework cakephp + scaffold
Desarrollo rapido de aplicaciones web en php con el framework cakephp + scaffoldDesarrollo rapido de aplicaciones web en php con el framework cakephp + scaffold
Desarrollo rapido de aplicaciones web en php con el framework cakephp + scaffold
 
5 Tips en 5 Minutos
5 Tips en 5 Minutos5 Tips en 5 Minutos
5 Tips en 5 Minutos
 
Desarrollo de aplicaciones para Android
Desarrollo de aplicaciones para AndroidDesarrollo de aplicaciones para Android
Desarrollo de aplicaciones para Android
 
Desarrollo de aplicaciones móviles con Phonegap
Desarrollo de aplicaciones móviles con PhonegapDesarrollo de aplicaciones móviles con Phonegap
Desarrollo de aplicaciones móviles con Phonegap
 
Introducción al desarrollo de aplicaciones para Blackberry
Introducción al desarrollo de aplicaciones para BlackberryIntroducción al desarrollo de aplicaciones para Blackberry
Introducción al desarrollo de aplicaciones para Blackberry
 
Solución: Google Voice + Gizmo + Asterisk para hacer y recibir llamadas a USA...
Solución: Google Voice + Gizmo + Asterisk para hacer y recibir llamadas a USA...Solución: Google Voice + Gizmo + Asterisk para hacer y recibir llamadas a USA...
Solución: Google Voice + Gizmo + Asterisk para hacer y recibir llamadas a USA...
 
Aproximación al perfil de los usuarios de Twitter el #26S
Aproximación al perfil de los usuarios de Twitter el #26SAproximación al perfil de los usuarios de Twitter el #26S
Aproximación al perfil de los usuarios de Twitter el #26S
 
Uso del Twitter en las elecciones del 26S
Uso del Twitter en las elecciones del 26S Uso del Twitter en las elecciones del 26S
Uso del Twitter en las elecciones del 26S
 
Agenda 4-09-2010
Agenda 4-09-2010Agenda 4-09-2010
Agenda 4-09-2010
 
5 Tips en 5 Minutos
5 Tips en 5 Minutos5 Tips en 5 Minutos
5 Tips en 5 Minutos
 
DB relacionales vs DB documentales
DB relacionales vs DB documentalesDB relacionales vs DB documentales
DB relacionales vs DB documentales
 

Último

CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 

Último (19)

CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 

Introduccion al OpenGL

  • 1. OPENGL Introducción al Vladimir de la Cruz -2010
  • 2. OpenGL es una Interfaz de Programación de Aplicaciones (API), basada en procedimientos de bajo nivel, multiplataforma, soportada por múltiples lenguajes, que abstrae las diferentes funciones y procesamientos de gráficos por computadora en 2D y en 3D sobre las plataformas de hardware. La responsable de Open Graphics Library es Silicon Graphics Incorporated ( SGI ), la cual en 1992, SGI comenzaría la creación de OpenGL partiendo de su antecesor IrisGL , con el objetivo de que fuese una plataforma de código abierto, para el desarrollo de aplicaciones gráficas por computadora. OPENGL http://sabia.tic.udc.es/gc/Tutorial%20OpenGL/tutorial/cap1.htm#_Toc535127309 API (conjunto de técnicas, funciones y métodos utilizados para establecer una comunicación entre los diferentes niveles o capas de un software)
  • 3. OpenGL vs DirectX DIRECTX11 OPENGL 4.1 OPENGL 3 Característica OpenGL DirectX Multiples sistemas operativos Yes No Extension Mechanism Yes Yes Desarrollo Multiple member Board Microsoft Two-sided lighting Yes No Volume Textures Yes No Hardware independent Z-buffers Yes No Accumulation buffers Yes No Full-screen Antialiasing Yes Yes Motion Blur Yes Yes Depth of field Yes Yes Stereo Rendering Yes No Point-size/line-width attributes Yes No Picking Yes No Parametric curves and surfaces Yes No Cache geometry Display Lists Vertex Buffers System emulation Hardware not present Let app determine Interface Procedure calls COM Actualizaciones Anuales Anuales Código Fuente Muestra SDK Implementation DIRECTX 11
  • 4.
  • 5. El funcionamiento básico de OpenGL consiste en aceptar primitivas tales como puntos, líneas y polígonos, y convertirlas en píxeles. Este proceso es realizado por una arquitectura gráfica conocida como la Maquina de Estados de OpenGL. OpenGL como máquina de estados La utilización de OpenGL consiste en activar y desactivar opciones, y realizar ciertas acciones, que tendrán como fruto la representación o no, en pantalla, de una serie de datos, dependiendo en el estado en que nos encontremos. http://books.google.co.ve/books?id=ahb5bqeLROAC&pg=PA43&lpg=PA43&dq=game+irisgl&source=bl&ots=G4IBs4qHwx&sig=mJ6TnskRMJgd2aS45iCPAiLwN_0&hl=es&ei=dMB-TNeaO8KqlAf11uTvAw&sa=X&oi=book_result&ct=result&resnum=4&ved=0CCgQ6AEwAw#v=onepage&q&f=false
  • 6. El espacio 3D OpenGL trabaja, a grandes rasgos, en un espacio de tres dimensiones, aunque veremos que realmente, trabaja con coordenadas homogéneas (de cuatro dimensiones). Las tres dimensiones que nos interesan ahora son las especificadas por un sistema 3D ortonormal. Es decir, sus ejes son perpendiculares, y cada unidad en uno de ellos está representada por un vector de módulo 1 Y+ Y- Z+ Z- X+ X- 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1
  • 9. Ejemplo de declaración y uso de primitivas: glBegin( TIPO );     glVertex3f( p0x, p0y, p0z );     glVertex3f( p1x, p1y, p1z );     glVertex3f( p2x, p2y, p2z );     .....     glVertex3f( p7x, p7y, p7z ); glEnd(); En donde glVertex3f( 0.0 , 0.0 , 0.0 ); EQUIVALE a... GLfloat vertice[3] = { 0.0, 0.0, 0.0 };   y después... glVertexfv( vertice ); OpenGL tiene tipos de datos definidos por esta librería que se anteceden por el prefijo GL (GLint, GLfloat, GLdouble) aunque se pueden usar los típicos (int, float, double). Primitivas en OpenGL
  • 10. La traslación es el desplazamiento de un objeto en el espacio. Para simular la translación en OpenGL, de todos los objetos sobre una matriz se utiliza: glTranslate (x, y, z); Transformaciones. Traslación
  • 11. Un objeto puede representarse con diferente tamaño cambiando su escalado. Para simular el escalado en OpenGL, en el sentido de las agujas del reloj, sobre el radio de origen en el punto x,y,z, se utiliza: Transformaciones. Escalado glScale (x, y, z);
  • 12. Es la acción de mover un objeto alrededor de un eje. Para simular la rotación en OpenGL, en el sentido de las agujas del reloj, sobre el radio de origen en el punto x,y,z, se utiliza: Transformaciones. Rotación glRotate (ángulo, x, y, z);
  • 13.