• Save
Introduccion al OpenGL
Upcoming SlideShare
Loading in...5
×
 

Introduccion al OpenGL

on

  • 3,408 views

Introduccion al OpenGL

Introduccion al OpenGL
Refresh Maracaibo
4-09-2010

Vladimir de la Cruz

Statistics

Views

Total Views
3,408
Views on SlideShare
3,408
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Introduccion al OpenGL Introduccion al OpenGL Presentation Transcript

  • 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
    • Estable.
      • 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.
    • Confiable y Portable
    • 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.
    • Escalable y Extensible
    • 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.
    • 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.
    • Escalable y Extensible
    • 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.
    • 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.
  • 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
    • Los valores de R, G y B van de 0 (cero), mínima intensidad Hasta 1, máxima intensidad o mayor brillo.
    • RGB (0,0,0) es el color negro (ausencia de color).
    • RGB (1,1,1) es el color blanco.
    • Así por ejemplo:
    • RGB (0,0,1) es el color azul
    • RGB (0.5f,0.0 f,0.5f) es púrpura
    OpenGL puede utilizar dos modos de color: color RGBA y color indexado.
  • A codificar!