OpenSceneGraph

OpenSceneGraph
Información general
Tipo de programa Gráficos 3D
Desarrollador Don Burns y Robert Osfield
Licencia OpenSceneGraph Public License (LGPL based)
Versiones
Última versión estable 3.4.1 (2017 de agosto del 28 (1998 años, 1 mes y -1955 días))
Archivos legibles
  • OpenSceneGraph native binary format
  • Open Scenegraph scene
Enlaces

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. 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

Características de la versión 1.0:

Características de la versión 2.8.3

Características de la versión 2.8.4:

Características de la versión 3.0.1:

Fechas de lanzamiento de las versiones estables

VersiónFecha de lanzamiento
2.0.015 de junio de 2007 de mdy
2.2.04 de octubre de 2007 de mdy
2.4.025 de abril de 2008 de mdy
2.6.05 de agosto de 2008 de mdy
2.6.12 de octubre de 2008 de mdy
2.8.012 de febrero de 2009 de mdy
2.8.119 de mayo de 2009 de mdy
2.8.228 de julio de 2009 de mdy
2.8.35 de abril de 2010 de mdy
2.8.411 de abril de 2011 de mdy
3.0.028 de junio de 2011 de mdy
3.0.131 de julio de 2011 de mdy

OpenThreads

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 un 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

Estos productos están desarrollados usando OpenSceneGraph:

Véase también

Referencias

  1. ↑ «Copia archivada». Archivado desde el original el 27 de noviembre de 2012. Consultado el 24 de octubre de 2011.
  2. ↑ https://web.archive.org/web/20110609185828/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