OpenFrameworks
Encyclopedia
openFrameworks is an open source
toolkit designed for "creative coding". OpenFrameworks is written in C++
and runs on Windows
, Mac OS X
, and Linux
. It is maintained by Zachary Lieberman
, Theo Watson
and Arturo Castro with contributions by other members of the openFrameworks community.
as both projects present a simplified interface to powerful libraries for media, hardware and communication. openFrameworks's main difference from Processing
is that it is written in C++
, instead of Java
. Users will find many similarities between the two libraries, for example what is beginShape in Processing is ofBeginShape in openFrameworks. The openFrameworks wiki includes an article for people coming to openFrameworks from Processing.
Another similar project is Cinder
, which is also a C++ library framework for creative programming. The primary difference is that openFrameworks has a larger number of dependencies on open source libraries, allowing advanced programmers more control and transparency, while Cinder is more dependent on libraries built into the operating systems it sits on top of, which generally means updates and bug fixes are more frequent and reliable.
. Libraries used by the framework each have their own licenses
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...
toolkit designed for "creative coding". OpenFrameworks is written in C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...
and runs on Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...
, Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...
, and Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
. It is maintained by Zachary Lieberman
Zachary Lieberman
Zachary Lieberman is an American artist and computer programmer. His art work focuses around computer graphics, human-computer interaction, and computer vision....
, Theo Watson
Theo Watson
Theo Watson is a British artist and programmer. His art work includes interactive video, large-scale public projections, computer vision projects, and interactive sound recordings...
and Arturo Castro with contributions by other members of the openFrameworks community.
History
According to its authors, openFrameworks was developed:
(for) folks using computers for creative, artistic expression, and who would like low level access to the data inside of media in order manipulate, analyze or explore. That audience we felt was significantly underserved by the current crop of C++ libraries.
Related projects
Its emphasis on "creative" uses draws parallels to ProcessingProcessing (programming language)
Processing is an open source programming language and integrated development environment built for the electronic arts and visual design communities with the purpose of teaching the basics of computer programming in a visual context, and to serve as the foundation for electronic sketchbooks...
as both projects present a simplified interface to powerful libraries for media, hardware and communication. openFrameworks's main difference from Processing
Processing (programming language)
Processing is an open source programming language and integrated development environment built for the electronic arts and visual design communities with the purpose of teaching the basics of computer programming in a visual context, and to serve as the foundation for electronic sketchbooks...
is that it is written in C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...
, instead of Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...
. Users will find many similarities between the two libraries, for example what is beginShape in Processing is ofBeginShape in openFrameworks. The openFrameworks wiki includes an article for people coming to openFrameworks from Processing.
Another similar project is Cinder
Cinder (programming language)
Cinder is a programming library, designed to give the C++ language advanced visualization abilities. It was released as a public tool in spring 2010 and can be viewed in many ways as an open-source, C++-based alternative to tools like the Java-based Processing library, Microsoft Silverlight or...
, which is also a C++ library framework for creative programming. The primary difference is that openFrameworks has a larger number of dependencies on open source libraries, allowing advanced programmers more control and transparency, while Cinder is more dependent on libraries built into the operating systems it sits on top of, which generally means updates and bug fixes are more frequent and reliable.
License
Openframeworks is released under the MIT licenseMIT License
The MIT License is a free software license originating at the Massachusetts Institute of Technology . It is a permissive license, meaning that it permits reuse within proprietary software provided all copies of the licensed software include a copy of the MIT License terms...
. Libraries used by the framework each have their own licenses
Real world projects
Notable projects created with openFrameworks:- graffiti analysis project by Evan RothEvan RothEvan Roth is an artist whose work focuses on tools of empowerment, open source and popular culture. He has previously released work under the name "fi5e".-Biography:...
- audio space by Theodore Watson
- drawn by Zach Lieberman
- colors by Cory ArcangelCory ArcangelCory Arcangel is a Brooklyn, New York artist who makes work in many different media, including drawing, music, video, performance,, and video game modifications, for which he is perhaps best known...
- re-gaze by Chris Sugrue
- L.A.S.E.R. Tag by Theo WatsonTheo WatsonTheo Watson is a British artist and programmer. His art work includes interactive video, large-scale public projections, computer vision projects, and interactive sound recordings...
/Graffiti Research LabGraffiti Research LabGraffiti Research Lab, founded by Evan Roth and James Powderly during their fellowships at the Eyebeam OpenLab, is an art group dedicated to outfitting graffiti writers, artists and protesters with open source technologies for urban communication. The members of the group experiment in a lab and in... - EyeWriter by Free Art and Technology (F.A.T.), OpenFrameworks, Graffiti Research LabGraffiti Research LabGraffiti Research Lab, founded by Evan Roth and James Powderly during their fellowships at the Eyebeam OpenLab, is an art group dedicated to outfitting graffiti writers, artists and protesters with open source technologies for urban communication. The members of the group experiment in a lab and in...
, and The Ebeling Group in collaboration with TEMPTONE - Magic Torch by Alberto García, Julio Obellerio, Martín Nadal and Alberto Cortés
- Memento by Jeldrik Schmuch and Ulrike Gollner
- Le Sacre du Printemps is by Klaus Obermaier with the Ars Electronica Futurelab, Chris Sugrue, and Matthias Bauer.
- TouchKit Multitouch System by NOR_/D
- Quase-Cinema VJ software by Alexandre Rangel
- Globe4D by Rick Companje, Nico van Dijk, Danica Mast, Hanco Hogenbirk
See also
- ProcessingProcessing (programming language)Processing is an open source programming language and integrated development environment built for the electronic arts and visual design communities with the purpose of teaching the basics of computer programming in a visual context, and to serve as the foundation for electronic sketchbooks...
- Java based application built for the electronic arts and visual design communities. - CinderCinder (programming language)Cinder is a programming library, designed to give the C++ language advanced visualization abilities. It was released as a public tool in spring 2010 and can be viewed in many ways as an open-source, C++-based alternative to tools like the Java-based Processing library, Microsoft Silverlight or...
- C++ based framework for advanced visualization capabilities.
External links
- openFrameworks.cc
- openFrameworks forum -- traditionally the best place for questions & announcements
- openFrameworks wiki -- documentation
- openFrameworks on GitHub -- source code