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,  so...
OpenGL vs DirectX DIRECTX11 OPENGL 4.1 OPENGL 3 Característica OpenGL DirectX Multiples sistemas operativos Yes No Extensi...
Algunas Características de OPENGL <ul><li>Estable.  </li></ul><ul><ul><li>Las implementaciones de OpenGL han estado dispon...
El funcionamiento básico de OpenGL consiste en aceptar primitivas tales como puntos, líneas y polígonos, y convertirlas en...
El espacio 3D OpenGL trabaja, a grandes rasgos, en un espacio de tres dimensiones, aunque veremos que realmente, trabaja c...
Primitivas en OpenGL
Primitivas en OpenGL
Ejemplo de declaración y uso de primitivas: glBegin( TIPO );       glVertex3f( p0x, p0y, p0z );       glVertex3f( p1x, p1y...
La traslación es el desplazamiento de un objeto en el espacio. Para simular la translación en OpenGL, de todos los objetos...
Un objeto puede representarse con diferente tamaño cambiando su escalado. Para simular el escalado en OpenGL, en el sentid...
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 r...
Color en OpenGL <ul><li>Los valores de R, G y B van de 0 (cero), mínima intensidad Hasta 1, máxima intensidad o mayor bril...
A codificar!
Upcoming SlideShare
Loading in …5
×

Introduccion al OpenGL

3,798 views

Published on

Introduccion al OpenGL
Refresh Maracaibo
4-09-2010

Vladimir de la Cruz

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,798
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Introduccion al OpenGL

  1. 1. OPENGL Introducción al Vladimir de la Cruz -2010
  2. 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. 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. 4. Algunas Características de OPENGL <ul><li>Estable. </li></ul><ul><ul><li>Las implementaciones de OpenGL han estado disponibles por más de 17 años en una gran variedad de plataformas. Cualquier modificación o adición a la especificación son bien controladas, y las actualizaciones propuestas son anunciadas a tiempo para que los desarrolladores las adopten. </li></ul></ul><ul><li>Confiable y Portable </li></ul><ul><li>Todas las aplicaciones de OpenGL producen una representación visual con resultados consistentes sobre cualquier hardware compatible con su API, independientemente del sistema operativo o sistema de ventanas. </li></ul><ul><li>Escalable y Extensible </li></ul><ul><li>Debi do a su completo y extensible diseño, OpenGL fomenta la innovación en materia de hardware y software a través de el mecanismo de extensión de la API de extensión de OpenGL. Las aplicaciones hechas en OpenGL pueden ejecutarse en sistemas que varían desde aparatos de consumo electrónico, PCs, dispositivos móviles, o supercomputadoras. </li></ul><ul><li>Fácil de usar y bien Documentado OpenGL está bien estructurado y emplea un intuitivo diseño y comandos lógicos. Además los drivers de OpenGL encapsulan la información acerca del hardaware subyacente. Existe una gran cantidad de libros publicados acerca de OpenGL, y existe mucho código gratuito y disponible. </li></ul><ul><li>Escalable y Extensible </li></ul><ul><li>Debi do a su completo y extensible diseño, OpenGL fomenta la innovación en materia de hardware y software a través de el mecanismo de extensión de la API de extensión de OpenGL. De esta manera innovaciones aparecen en la API, permitiendole a los desarrolladores de aplcaiones y vendedores de hardware incorporar las nuevas características a su producto. </li></ul><ul><li>OpenGL API-based applications can run on systems ranging from consumer electronics to PCs, workstations, and supercomputers. As a result, applications can scale to any class of machine that the developer chooses to target. </li></ul>
  5. 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. 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
  7. 7. Primitivas en OpenGL
  8. 8. Primitivas en OpenGL
  9. 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. 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. 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. 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. 13. Color en OpenGL <ul><li>Los valores de R, G y B van de 0 (cero), mínima intensidad Hasta 1, máxima intensidad o mayor brillo. </li></ul><ul><li>RGB (0,0,0) es el color negro (ausencia de color). </li></ul><ul><li>RGB (1,1,1) es el color blanco. </li></ul><ul><li>Así por ejemplo: </li></ul><ul><li>RGB (0,0,1) es el color azul </li></ul><ul><li>RGB (0.5f,0.0 f,0.5f) es púrpura </li></ul>OpenGL puede utilizar dos modos de color: color RGBA y color indexado.
  14. 14. A codificar!

×