David

Páginas: 6 (1287 palabras) Publicado: 26 de septiembre de 2012
¿Que es opengl?
OpenGL (Open Graphics Library) es una especificación estándar que define una APImultilenguaje y multiplataforma para escribir aplicaciones que produzcan gráficos 2D y3D. 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. Fuedesarrollada 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 plataformasMicrosoft Windows.
Historial de opengl
A principios de los 90 las aplicaciones 3D no estabana a la orden del día, peroya existia una competitividad en el mercado hardware. IBM y HP, entre otros, competian con Silicon Graphics Inc. en este mercado. SGI, por su parte, utilizaba una API llamada IrisGL que, aunque considerada mejor y más sencilla que las usadas por la competencia, perdía valor poco a poco frente a estas. Debido a esto SGI decidio abrir esta API de programación para que se adoptase como estándar, dandovida a OpenGL.
En 1995 Microsoft lanzó Direct3D que a partir de ese momento se convirtió en el competidor directo de OpenGL. En 1999 SGI tuvo que abandonar el proyecto por restricciones y poco apoyo indrustrial, pero hoy en día siguen desarrollando versiones:

-En 3Dlabs se desarrollo la version OpenGL 2.0, continuando con el desarrollo de la API, y creando el estandar GLSL, o lenguaje desombreado de OpenGL
-En 2006 se publicó OpenGL 2.1, compatible con versiones anteriores, soporte de especificacion de matrices no cuadradas, Pixel buffer para acelerar el tráfico de imágenes y texturas sRGP
-Entre 2008 y 2009 se han dado a conocer las versiones 3.0, 3.1 y 3.2. Con aportes como revisiones del lenguaje GLSL, texturas, render buffers y Z-buffer en coma flotante 32-bits, Soporte deGeometría Shader.

Para más detalles se puede encontrar información muy interesante en la pagina oficial, en la serie de libros Rojo, Azul, Verde, Alpha y Naranja u otros igual de interesantes y en páginas como NEHE, donde tienen una colección de ejemplos básicos y no tan básicos para programar con OpenGL
Primitivas geométricas
Apesar de ser muito poderoso o OpenGL conta apenas com 10 primitivasgeométricas, sendo divididas da seguinte forma: * um tipo de ponto * três tipos de linhas * seis tipos de polígonosCada primitiva geométrica precisa de um conjunto de vértices específicos para formar objetos. Os vértices são definidos pelo comando Vertex. Veja alguns exemplos:    >> glVertex2f( float x, float y); // vértice para um eixo 2D    >> glVertex3d(double x,double y, double z); //vértice para um eixo 3DAs primitivas precisam ser delimitadas através de Begin ... End conforme abaixo:     Begin ( nome da primitiva);
     ... // aqui serão colocados comandos Vertex.
     End (void);Se reparar no procedimento Render do exemplo básico verá que existe uma estrutura semelhante a essa para definir um objeto, que no caso é um triângulo:    glBegin(GL_POLYGON); // Primitiva paradesenhar um polígono
        glVertex2f( 0.0f, 0.0f);  // define o primeiro vértice do polígono
        glVertex2f( 0.25f, 0.50f); // define o segundo vértice do polígono
        glVertex2f( 0.50f, 0.0f); // define o terceiro vértice do polígono
    glEnd(); Veja que GL_POLYGON define um polígono convexo qualquer. Existem outras primitivas relacionadas que serão descritas a seguir. Para ilustrar oefeito de cada uma toma-se partida do seguinte código:    glBegin( nome da primitiva );
        glVertex2f( 0.0f, 0.0f); 
        glVertex2f( 0.25f, 0.50f); 
        glVertex2f( 0.50f, 0.0f); 
    glEnd(); 

Por exemplo, a primitiva responsável em desenhar pontos na tela é GL_POINTS. Para ilustrar a mesma basta o seguinte código:    glBegin( GL_POINTS );
        glVertex2f( 0.0f, 0.0f); ...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • David
  • David
  • Davos
  • David
  • David
  • davo
  • david
  • david

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS