Monografias.com > Computación > Programación
Descargar Imprimir Comentar Ver trabajos relacionados

Introducción a OpenGL




Enviado por Pablo Turmero



    Monografias.com
    1. Introducción La informática gráfica es la
    parte de la informática que se encarga de la
    representación de gráficas en el ordenador. OpenGL
    fue la primera librería gráfica que abordo el uso
    eficiente de esos recursos, así como la
    estandarización de los procedimientos de la
    generación de gráficos.

    Monografias.com
    1. Introducción Actualmente es un estándar sobre
    gráficos por computadora, uno de los más
    prestigiosos y utilizados del mundo.

    Monografias.com
    2. ¿Qué es OpenGL? OpenGL es una
    especificación estándar que define una API
    multilenguaje y multiplataforma para escribir aplicaciones que
    produzcan gráficos 2D Y 3D. Desarrollada por Silicon
    Graphics Inc. (SGI) Su nombre viene del ingles Open Graphics
    Library

    Monografias.com
    2. ¿Qué es OpenGL? Existen implementaciones
    eficientes de OpenGL suministradas por fabricantes para Mac Os
    Microsoft Windows Linux Plataformas Unix PlayStation

    Monografias.com
    2. ¿Qué es OpenGL? La especificación OpenGL
    era revisada por el OpenGL Architecture Review Board (ARB),
    fundado en 1992. ARB estaba formado por un nutrido conjunto de
    empresas interesadas en la creación de una API consistente
    y ampliamente disponible.

    Monografias.com
    2. ¿Qué es OpenGL? Formaban el grupo destacadas
    empresas: Silicon Graphics Compaq IBM Intel Microsoft Apple Sun
    Microsystems…

    Monografias.com
    2. ¿Qué es OpenGL? El comité ARB se encarga
    de gestionar el estándar OpenGL para que vaya adoptando
    nuevas tecnologías. Cuando una compañía
    desarrolla una nueva tecnología se la presenta al ARB. Si
    este lo acepta, se añade como extensión propia de
    esa compañía para que se pueda utilizar en
    OpenGL.

    Monografias.com
    2. ¿Qué es OpenGL? OpenGL se utiliza en campos
    como: CAD Realidad virtual Representación
    científica y de información Simulación de
    vuelo Desarrollo de videojuegos

    Monografias.com
    3. Historia Antes de la aparición de OpenGL, muchos
    fabricantes tenían diferentes bibliotecas gráficas,
    esto hacia que hubiera que tratar con interfaces muy diferentes y
    escribir drivers específicos. Se subcontrataban equipos de
    programadores para solventar esto, produciendo código
    redundante y que la portabilidad de aplicaciones de una
    plataforma a otra consumiera demasiado tiempo y entrañara
    dificultad.

    Monografias.com
    3. Historia Al principio de los años 1990 SGI era un grupo
    de referencia en gráficos 3D para estaciones de trabajo.
    Pero este estándar no era abierto, pero aun así su,
    cuota de mercado era alta, ya que era considerado un
    estándar puntero y facilidad de uso.

    Monografias.com
    3. Historia La competencia de SGI fue capaz de introducir en el
    mercado hardware 3D compatible con otro estándar abierto.
    Esto hizo reducir su cuota de mercado y en un intento de
    fortalecer su influencia en el mercado, decidió convertir
    el estándar en un estándar abierto.

    Monografias.com
    3. Historia SGI lideró la creación de OpenGL
    Architecture Review Board (OpenGL ARB), grupo de empresas que
    mantendría y extendería la especificación
    OpenGL. OpenGL evolucionó desde IRIS GL superando su
    problema de dependencia del hardware al ofrecer emulación
    software para aquellas características no soportadas por
    el hardware del que se dispusiese.

    Monografias.com
    3. Historia La segunda versión de OpenGL es en realidad la
    séptima revisión desde el lanzamiento de la
    versión 1.0. El 2 de agosto de 2006 se publicó
    OpenGL 2.1. Siendo compatible con las versiones anteriores,
    además aporta nuevas características entre las que
    destacan:

    Monografias.com
    3. Historia Sombreado programable Se pueden aplicar sombreados
    sobre diferentes renderizados y generar distintos resultados que
    se almacena en buffers. La aplicación de texturas no
    está condicionada por su tamaño, no tiene por que
    ser potencia de dos. Se pueden aplicar patrones sobre las dos
    caras de las primitivas geométricas

    Monografias.com
    3. Historia Destacar como competidor principal de OpenGL se debe
    mencionar a Microsoft Direct 3D, que aunque solo esté
    disponible para sistemas Windows goza de una gran
    aceptación entre los fabricantes

    Monografias.com
    4. Características de OpenGL OpenGL está enfocado a
    la creación de contenido visual para su volcado sobre un
    framebuffer que luego será mostrado en pantalla. OpenGL
    basa su funcionamiento en una serie de modos configurables y la
    ejecución de una serie de primitivas de dibujo que no son
    más que la realización de segmentos,
    polígonos, puntos o rectángulos de
    píxeles.

    Monografias.com
    4. Características de OpenGL Los comandos OpenGL se
    organizan en secuencias y su procesamiento se realiza siempre en
    el orden en que se reciben, aunque puede producirse un retraso
    entre la ejecución de un comando y la
    representación de sus efectos.

    Monografias.com
    4. Características de OpenGL OpenGL proporciona mecanismos
    para el control directo de las operaciones fundamentales en el
    trabajo con gráficos en 2 y 3 dimensiones, incluyendo:
    Tratamiento de luces Métodos de anti – aliasing
    …etc.

    Monografias.com
    4. Características de OpenGL El ámbito de
    operación de OpenGL llega hasta el framebuffer pero en
    ningún caso más allá. Es decir, queda bajo
    la responsabilidad del sistema sobre que se ejecuta la
    aplicación el control de las ventanas de la
    aplicación, del volcado del framebuffer al monitor.

    Monografias.com
    5. Arquitectura de OpenGL OpenGL implementa una arquitectura
    cliente servidor, donde un programa solicita comandos y dichos
    comandos son interpretados y procesados por el sistema OpenGL
    (servidor). No es necesario que el servidor se sitúe en el
    mismo ordenador que el cliente, permitiendo a la
    especificación OpenGL ser “transparente a la
    red”.

    Monografias.com
    5. Arquitectura de OpenGL 5.1. OpenGL como una máquina de
    estado OpenGL es una máquina de estado. Existen ciertas
    variables de estado de la máquina como el color, por
    ejemplo, que determinan el estado de la máquina

    Monografias.com
    5. Arquitectura de OpenGL Un buen número de variables de
    estado se refieren a modos que pueden ser habilitados o
    deshabilitados con los comandos : glEnable() glDisable()

    Monografias.com
    5. Arquitectura de OpenGL Además de los modos, las
    variables de estado almacenan valores que pueden obtener:
    glGetBooleanv() glGetDoublev() glGetFloatv() glGetIntegerv()
    glGetPonterv() …etc

    Monografias.com
    5. Arquitectura de OpenGL Es posible almacenar colecciones de
    variables de estado en pilas con los métodos:
    glPushAttrib() o glPushClientAttrib glPopAttrib() o
    glPopClientAttrib y para recuperarlas después

    Monografias.com
    5. Arquitectura de OpenGL 5.2. Flujo de renderización de
    OpenGL La mayoría de las implementaciones de OpenGL
    implementan un orden de operaciones idéntico, una serie de
    etapas de procesamiento denominado flujo de renderización
    de OpenGL ( OpenGL rendering pipeline)

    Monografias.com
    5. Arquitectura de OpenGL Flujo de renderización de
    OpenGL

    Monografias.com
    5. Arquitectura de OpenGL No es una definición estricta ni
    obligatoria, pero proporciona indicaciones bastante fiables sobre
    el orden de las operaciones en OpenGL. Indicar que el flujo de
    datos de la información geométrica es distinto que
    el flujo de la información de píxeles. La segunda
    parte del proceso es común para ambos tipos.

    Monografias.com
    5. Arquitectura de OpenGL Flujo de renderización Display
    lists Según el modo seleccionado ( geométrica o
    píxeles), una serie de datos a mostrar pueden ser
    mostrados inmediatamente cuando son creados o bien almacenarlos
    para mostrarlos con posterioridad.

    Monografias.com
    5. Arquitectura de OpenGL Evaluadores Las primitivas
    geométricas están definidas en última
    instancia como un conjunto de vértices. Las curvas
    paramétricas y las superficies están definidas por
    puntos de control y funciones polinómicas. Los evaluadores
    proporcionan los mecanismos para obtener los vértices
    utilizados para representar las superficies a partir de los
    puntos de control

    Monografias.com
    5. Arquitectura de OpenGL Operaciones Per – vertex Antes de poder
    procesar la información geométrica los
    vértices debe ser convertidos en primitivas. Es en esta
    fase donde se procesa la aplicación de texturas,
    calculando las zonas a mostrar y su posición. Las
    modificaciones debidas a la iluminación también son
    procesadas en esta fase.

    Monografias.com
    5. Arquitectura de OpenGL Ensamblado de primitivas En esta fase
    deben calcularse los puntos que por su posición quedan
    fuera de la imagen visible, esto es aquella información
    geométrica que no debe ser renderizada. También
    debe calcularse las intersecciones entre primitivas y se realiza
    el procesamiento de la perspectiva.

    Monografias.com
    5. Arquitectura de OpenGL Operaciones sobre píxeles La
    información de píxeles es procesada de manera
    diferente. Ensamblado de texturas Las aplicaciones OpenGL pueden
    aplicar imágenes de texturas sobre los objetos
    geométricos para proporcionarles una apariencia más
    realista.

    Monografias.com
    5. Arquitectura de OpenGL Rasterización La
    rasterización es la conversión de los datos, tanto
    geométricos como de píxeles, en fragmentos. Cada
    cuadro es un fragmento que se corresponde con un pixel en el
    framebuffer. Para esta conversión es necesario tener en
    cuenta los vértices, las líneas, las
    intersecciones, los tamaños de puntos… etc.

    Monografias.com
    5. Arquitectura de OpenGL Operaciones sobre fragmentos Una vez
    que todas las operaciones anteriores han sido realizadas y como
    último paso antes del volcado de los fragmentos al
    framebuffer, es necesario realizar una serie de operaciones que
    pueden alterar distintos fragmentos.

    Monografias.com
    5. Arquitectura de OpenGL 5.3. Invarianza en OpenGL Debido a que
    OpenGL no es una especificación exacta a nivel de
    píxel no está garantizada la coincidencia entre dos
    imágenes producidas por diferentes implementaciones de
    OpenGL. La invarianza está expresada en la
    especificación OpenGL por el cumplimiento de varias
    reglas.

    Monografias.com
    6. Bibliotecas relacionadas con OpenGL Existen una serie de
    bibliotecas para facilitar el trabajo con OpenGL: GLU (OpenGL
    Utility Library) Crear matrices, visualizar superficies y
    cuadriculación de polígonos. Esta biblioteca suele
    estar incluida en las implementaciones OpenGL y sus
    métodos son fácilmente reconocibles porque
    comienzan por el prefijo glu.

    Monografias.com
    6. Bibliotecas relacionadas con OpenGL GLX Y WGL GLX da soporte
    para máquinas que utilicen X Windows System y permite
    realizar todos los procesos gráficos relacionados con las
    ventanas de la aplicación. WGL es el equivalente para
    sistemas Microsoft

    Monografias.com
    6. Bibliotecas relacionadas con OpenGL AUX La biblioteca de
    funciones AUX fue desarrollada en la etapa inicial de desarrollo
    de OpenGL por SGI para servir de apoyo a la creación de
    pequeños programas de demostración. Actualmente
    está declarada obsoleta y ya no está ni soportada
    ni actualizada.

    Monografias.com
    6. Bibliotecas relacionadas con OpenGL OpenGL Utility Toolkit
    (GLUT) Sistema de ventanas, independiente del sistema usado.
    Ofrece una interfaz común para múltiples
    plataformas para el manejo de ventanas, buffers,
    renderización de texto, entrada por teclado,
    menús.

    Monografias.com
    7. Aplicaciones Existen múltiples de aplicaciones para las
    que OpenGL ha servido como base. Aplicaciones desarrolladas en
    diferentes plataformas: Windows Unix / Linux Mac Os Java Sistemas
    embebidos A continuación se mencionan algunas aplicaciones
    desarrollados por OpenGL:

    Monografias.com
    7. Aplicaciones Simulación (Windows) Aerofly Cloth – Sim
    Simulación de control aéreo Simulación en
    Tiempo real de ropa

    Monografias.com
    7. Aplicaciones Simulación (Linux) Dex X- Vision
    Desarrollo, análisis y visualización de
    múltiples cuerpos. Visualización y animación
    de datos

    Monografias.com
    7. Aplicaciones Juegos (Windows) PinBall Chess Commander Juego
    del PinBall Juego de Ajedrez

    Monografias.com
    7. Aplicaciones Juegos (Linux) FollBilliard khunPhan
    Simulación física del juego del billar Puzzle

    Monografias.com
    7. Aplicaciones Great Stella MVE Estudio de poliedros
    Visualización en 3D de datos médicos Ciencia y
    Análisis (Windows)

    Monografias.com
    7. Aplicaciones Visit Medit Visualización y
    parametrización de múltiples datos.
    Visualización científica Ciencia y Análisis
    (Linux)

    Monografias.com
    8. Conclusiones OpenGL es una buena elección para
    generación de efectos visuales, escenas, etc, debido a su
    portabilidad, estandarización y potencia gráfica.
    OpenGL esta pasando a segundo plano ante los nuevos programas de
    diseño que realizan tareas automáticamente. Se
    prevee que con la versión 2.0 se produzca un
    relanzamiento.

    Monografias.com
    Bibliografía OpenGL Programming Guide OpenGL Programming
    Guide, Second Edition. Addison Wesley. Mark Segal, Kurt Akeley.
    The OpenGL Graphics System: A Specification, 2004. Wright,
    Richard S.; Lipchak, Benjamin. OpenGL, 1ª Ed. Anaya
    Multimedia. http://www.opengl.org/ http://www.sgi.com/

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter