openFrameworks es un conjunto de herramientas de código abierto diseñado para la codificación creativa, fundado por Zachary Lieberman , Theo Watson y Arturo Castro. OpenFrameworks está escrito en C++ y construido sobre OpenGL . Se ejecuta en Microsoft Windows , macOS , Linux , iOS , Android y Emscripten . Es mantenido por sus fundadores con contribuciones de otros miembros [1] de la comunidad openFrameworks.
La versión 0.01 de openFrameworks fue lanzada por Zachary Lieberman el 3 de agosto de 2005. En febrero de 2006, Lieberman estaba usando la versión 0.03 con sus estudiantes en la Parsons School of Design de la ciudad de Nueva York. Según sus autores, openFrameworks fue desarrollado para
"... personas que utilizan computadoras para la expresión creativa y artística y que desean tener un acceso de bajo nivel a los datos dentro de los medios para manipularlos, analizarlos o explorarlos. Creemos que esa audiencia está significativamente desatendida por la actual generación de bibliotecas de C++". [2]
Varios artistas notables han utilizado openFrameworks en sus proyectos. El cofundador Zach Lieberman utilizó el kit de herramientas para su proyecto Drawn de 2006, en el que los visitantes pueden crear formas pintadas con tinta y luego interactuar con ellas. [3] [4] El cofundador Theo Watson ha utilizado openFrameworks para el espacio de audio de sus proyectos, donde los visitantes pueden dejar mensajes de audio espacializados en una habitación y escuchar los mensajes dejados por visitantes anteriores, y "Laser Tag". [5] [6] En 2010, Lieberman, Watson, Graffiti Research Lab y otros que trabajan juntos como "Free Art and Technology" utilizaron openFrameworks para el proyecto " EyeWriter ", un sistema de seguimiento ocular de bajo costo diseñado originalmente para permitir que el artista de graffiti paralizado Tempt One pudiera dibujar usando sus ojos. [7] En 2006, Cory Arcangel utilizó openFrameworks para crear la proyección de video Colors , tomando la película de 1988 del mismo nombre y reproduciéndola una fila horizontal de píxeles a la vez, durante más de 33 días. [8] [9] En 2012, Petros Vrellis creó una versión interactiva de " La noche estrellada " de Vincent van Gogh utilizando openFrameworks. [10] El videojuego independiente de Terry Cavanagh "Super Hexagon" fue creado originalmente en openFrameworks. [11]
Openframeworks se publica bajo la licencia permisiva MIT . Las bibliotecas que utiliza el framework tienen sus propias licencias. [2]
El énfasis de OpenFrameworks en la codificación creativa es similar al del lenguaje Processing en el sentido de que ambos proyectos presentan una interfaz simplificada para bibliotecas potentes para medios, hardware y comunicación. La principal diferencia entre openFrameworks y Processing es que está escrito en C++ , en lugar de Java . Los usuarios encontrarán muchas similitudes entre las dos bibliotecas; por ejemplo, lo que es beginShape() en Processing es ofBeginShape() en openFrameworks. La wiki de openFrameworks incluye un artículo para las personas que llegan a openFrameworks desde Processing. [12]
Otro proyecto similar es Cinder , que también es un framework de bibliotecas C++ para programación creativa. La principal diferencia es que openFrameworks tiene una mayor cantidad de dependencias en bibliotecas de código abierto, lo que permite a los programadores avanzados un mayor control y transparencia, mientras que Cinder depende más de las bibliotecas integradas en los sistemas operativos sobre los que se asienta, lo que generalmente significa que las actualizaciones y las correcciones de errores son más frecuentes y confiables con openFrameworks. [ cita requerida ]