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

Caso de uso libreria
Caso de uso libreriaCaso de uso libreria
Caso de uso libreriaJaime Lara
 
Pruebas de sistemas y aceptacion
Pruebas de sistemas y aceptacionPruebas de sistemas y aceptacion
Pruebas de sistemas y aceptacionAbner Gerardo
 
Modelo Cascada y Espiral
Modelo Cascada y EspiralModelo Cascada y Espiral
Modelo Cascada y Espiraljuanksi28
 
Lectura 3 Modelo De Analisis
Lectura 3   Modelo De AnalisisLectura 3   Modelo De Analisis
Lectura 3 Modelo De Analisisguest0a6e49
 
Estándares para el diseño de interfaz
Estándares para el diseño de interfazEstándares para el diseño de interfaz
Estándares para el diseño de interfazJose Luis Dorao
 
Actividad 2 Analizador léxico, sintáctico y semántico
Actividad 2 Analizador léxico, sintáctico y semántico Actividad 2 Analizador léxico, sintáctico y semántico
Actividad 2 Analizador léxico, sintáctico y semántico maryr_
 
Programación 3: algoritmo de Prim y de Kruskal
Programación 3: algoritmo de Prim y de KruskalProgramación 3: algoritmo de Prim y de Kruskal
Programación 3: algoritmo de Prim y de KruskalAngel Vázquez Patiño
 
Comparación de lenguajes de programación
Comparación de lenguajes de programaciónComparación de lenguajes de programación
Comparación de lenguajes de programaciónSebastian D Valenzuela
 
Conceptos de diseño de software
Conceptos de diseño de softwareConceptos de diseño de software
Conceptos de diseño de softwareJose Diaz Silva
 
Ensayo Compilador Suma y Resta
Ensayo Compilador Suma y RestaEnsayo Compilador Suma y Resta
Ensayo Compilador Suma y Restahepavien
 
Simulacion de pi - monte carlo - buffon java
Simulacion de pi - monte carlo - buffon  javaSimulacion de pi - monte carlo - buffon  java
Simulacion de pi - monte carlo - buffon javaNestor Paucar Carhuatanta
 
Modelos y capas de la ingenieria de software
Modelos y capas  de la ingenieria de softwareModelos y capas  de la ingenieria de software
Modelos y capas de la ingenieria de softwarejhonatanalex
 
Introducción a UML y Diagrama de Casos de Uso
Introducción a UML y Diagrama de Casos de UsoIntroducción a UML y Diagrama de Casos de Uso
Introducción a UML y Diagrama de Casos de UsoYaskelly Yedra
 

La actualidad más candente (20)

Caso de uso libreria
Caso de uso libreriaCaso de uso libreria
Caso de uso libreria
 
Pruebas de sistemas y aceptacion
Pruebas de sistemas y aceptacionPruebas de sistemas y aceptacion
Pruebas de sistemas y aceptacion
 
Modelo Cascada y Espiral
Modelo Cascada y EspiralModelo Cascada y Espiral
Modelo Cascada y Espiral
 
Lenguajes de simulación
Lenguajes de simulaciónLenguajes de simulación
Lenguajes de simulación
 
Capitulo1 grafos
Capitulo1 grafosCapitulo1 grafos
Capitulo1 grafos
 
Lectura 3 Modelo De Analisis
Lectura 3   Modelo De AnalisisLectura 3   Modelo De Analisis
Lectura 3 Modelo De Analisis
 
Estándares para el diseño de interfaz
Estándares para el diseño de interfazEstándares para el diseño de interfaz
Estándares para el diseño de interfaz
 
Código intermedio
Código intermedioCódigo intermedio
Código intermedio
 
Tecnicas de diseño
Tecnicas de diseñoTecnicas de diseño
Tecnicas de diseño
 
Actividad 2 Analizador léxico, sintáctico y semántico
Actividad 2 Analizador léxico, sintáctico y semántico Actividad 2 Analizador léxico, sintáctico y semántico
Actividad 2 Analizador léxico, sintáctico y semántico
 
Programación 3: algoritmo de Prim y de Kruskal
Programación 3: algoritmo de Prim y de KruskalProgramación 3: algoritmo de Prim y de Kruskal
Programación 3: algoritmo de Prim y de Kruskal
 
Ieee 830
Ieee 830Ieee 830
Ieee 830
 
Comparación de lenguajes de programación
Comparación de lenguajes de programaciónComparación de lenguajes de programación
Comparación de lenguajes de programación
 
Conceptos de diseño de software
Conceptos de diseño de softwareConceptos de diseño de software
Conceptos de diseño de software
 
Tutorial de JFLAP
Tutorial de JFLAPTutorial de JFLAP
Tutorial de JFLAP
 
Ensayo Compilador Suma y Resta
Ensayo Compilador Suma y RestaEnsayo Compilador Suma y Resta
Ensayo Compilador Suma y Resta
 
Simulacion de pi - monte carlo - buffon java
Simulacion de pi - monte carlo - buffon  javaSimulacion de pi - monte carlo - buffon  java
Simulacion de pi - monte carlo - buffon java
 
Factibilidad Técnica y Económica
Factibilidad Técnica y EconómicaFactibilidad Técnica y Económica
Factibilidad Técnica y Económica
 
Modelos y capas de la ingenieria de software
Modelos y capas  de la ingenieria de softwareModelos y capas  de la ingenieria de software
Modelos y capas de la ingenieria de software
 
Introducción a UML y Diagrama de Casos de Uso
Introducción a UML y Diagrama de Casos de UsoIntroducción a UML y Diagrama de Casos de Uso
Introducción a UML y Diagrama de Casos de Uso
 

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 terminadoKaren_Avilaa
 
Proyecto de reneya terminado
Proyecto de reneya terminadoProyecto de reneya terminado
Proyecto de reneya terminadojesicecytem
 
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

How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosJhonJairoRodriguezCe
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 

Último (10)

How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 

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.