OpenSceneGraph

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda
OpenSceneGraph
Osglogo2.0.png
Desarrollador
Don Burns y Robert Osfield
[1]
Información general
Última versión estable 3.0.1
2011 de julio de 31; hace 3 años (31-07-2011)
Género Gráficos 3D
Sistema operativo Mutltiplataforma
Licencia OpenSceneGraph Public License (LGPL based)
En español Sí 
[editar datos en Wikidata ]

OpenSceneGraph un motor gráfico de código abierto usado para el desarrollo de aplicaciones como simulación visual, videojuegos, realidad virtual, visualización científica y modelado 3D.

La plataforma está escrita en C++ estándar usando OpenGL y funciona sobre un gran variedad de sistemas operativos incluyendo Microsoft Windows, Mac OS X, Linux, IRIX, Solaris y FreeBSD.

El desarrollo de OpenScenegraph comenzó en 1998 gracias a Don Burns y Robert Osfield que se unió al proyecto en 1999.[1] Pero el proyecto empezó a tener importancia realmente a partir de 2006 cuando el número de usuarios de la lista de correo excedió de 1500.

Características[editar]

Características de la versión 1.0:[2]

  • Implementación del grafo de scenes ampliamente adoptado con un gran número de características
  • Compatibilidad con características con un rendimiento cada vez mayor
    1. Frustum, pequeño con occlusion culling
    2. Nivel de detalle
    3. Estado ordenado y actualizado de forma perezosa
    4. OpenGL con rutas rápidas y las últimas extensiones
    5. Optimización multi-hilo y de base de datos
  • Soporte de OpenGL, desde la 1.1 hasta la 2.0 incluyendo las últimas extensiones
  • Soporte de OpenGL Shading Language, desarrollado conjuntamente con 3Dlabs
  • Soporte de una gran gama de formatos imágenes 2D y 3D, con los loaders disponibles para formatos como OpenFlight, TerraPage, OBJ, 3DS, JPEG, PNG y GeoTIFF
  • Sistemas de partículas
  • Soporte de anti-aliased TrueType text
  • Soporte de apoyo de objetos del framebuffer, pbuffers y efectos de frame buffer render-to-texture
  • Sistema multi-hilo que admite paginación, que puede ser unado con un conjuto de loaders de imágenes 3D
  • Generación de de terrenos geospaciales a gran escala
  • Interfaz genérica que permite a aplicaciones externas realizar consultas en en núcleo
  • Soporte multi-hilo y configurable para múltiples CPU / GPU de múltiples máquinas

Características de la versión 2.8.3[3]

  • Soporte para Mac OS X 10.6 (Snow Leopard)
  • Soporte de ImageIO sobre Mac OS X
  • Soporte de ficheros 3DS y conversión de ficheros
  • Tecnología Autodesk FBX integrada
  • Soporte de FFmpeg para la reproducción de archivos de vídeo en aplicaciones 3D, integrado.
  • Soporte de archivos con el formato PLY

Características de la versión 2.8.4:

  • Soporte de VS2010 build

Características de la versión 3.0.1:

Fechas de lanzamiento de las versiones estables[editar]

Versión Fecha de lanzamiento
2.0.0 15 June 2007 de mdy
2.2.0 4 October 2007 de mdy
2.4.0 25 April 2008 de mdy
2.6.0 5 August 2008 de mdy
2.6.1 2 October 2008 de mdy
2.8.0 12 February 2009 de mdy
2.8.1 19 May 2009 de mdy
2.8.2 28 July 2009 de mdy
2.8.3 5 April 2010 de mdy
2.8.4 11 April 2011 de mdy
3.0.0 28 June 2011 de mdy
3.0.1 31 July 2011 de mdy

OpenThreads[editar]

La plataforma OpenSceneGraph contiene una biblioteca de hilos, la OpenThreads, la cual multiplataforma y muy ligera. Proporcionando una mínima pero completa interfaz para hilos de C++ Orientado a Objetos (OO). Está vagamente inspirado en el modelo el API de hilos de Java, y los POSIX Threads standards.

La arquitectura de OpenThreads está diseñada en torno a modelos de hilos "swappables" que se definen en tiempo de compilación en una biblioteca de objetos compartidos. Es importante señalar que con una buen Factory Method (patrón de diseño), se habría logrado el objetivo de una interfaz genérica, que habría requerido de los cuatro tipos fundamentales (hilos, mutex, barreras y condiciones) en la pila. Sin embargo, debido a los costos asociados a la implementaciones subyacentes de estas construcciones, en concreto en algunas plataformas, esta asignación se consideró inaceptable en el momento de escribir la biblioteca original, y por tanto el patrón de diseño no se ha utilizado.

Por ello, se eligió esta técnica un tanto abstrusa, pero efectiva. Esta técnica utiliza punteros private void para encapsular objetos de datos privados. Los punteros void en realidad apuntan a estructuras de datos concretos, pero le dan una interfaz uniforme al DSO.

La finalidad del diseño de OpenThreads era el construir una implementación optimizada usando la plataforma de optimización multi-procesamiento de las construcciones tales como los métodos utilizados por sproc en IRIX, y los hilos de Windows.

Ejemplos de uso[editar]

Estos productos están desarrollados usando OpenSceneGraph:

Véase también[editar]

Referencias[editar]

  1. http://www.openscenegraph.org/projects/osg/wiki/Support/History
  2. http://www.openscenegraph.org/svn/osg/OpenSceneGraph/tags/OpenSceneGraph-2.9.6/NEWS.txt
  3. http://www.openscenegraph.org/projects/osg/wiki/News/Press/OSG2.8.3

Enlaces externos[editar]