OpenFrameworks est une bibliothèque de classes écrites dans la programmation informatique en langage C + + qui permet de faciliter le codage rapide et efficace d'applications destinées principalement à être utilisé pour l'expression ou l'expérimentation artistique. L'objectif principal de la boîte à outils du logiciel est de permettre à un artiste ouprogrammeur pour créer des présentations ou des applications sans avoir à se préoccuper de fonctions d'interface de bas niveau ou des collections de bibliothèques disparates. La bibliothèque de openFrameworks réelle s'appuie sur d'autres open source bibliothèques pour l'accès à des graphiques, des polices et des fonctionnalités audio, mais enveloppe toutes les différentes commandes de la bibliothèque externes au sein de ses propres classes uniques. Les développeurs de openFrameworks maintenir le code de sorte qu'il peut être compilé sur la plupart des principaux systèmes d'exploitation et des appareils de poche sans la nécessité de modifier.
Une différence entre openFrameworks et autres bibliothèques disponibles, c'est qu'il ne cherche pas à fournir des emballages à la logique du programme, la manière d'une bibliothèque de programmation de jeu peut-être. Au lieu de cela, l'accent est mis uniquement sur la possibilité d'accéder facilement à des éléments pour créer des présentations audio et visuelles, et accepter l'entrée de sorte que ces applications peuvent être interactives. Cette orientation ciblée de développement conduit à une bibliothèque qui est plus étroitement écrit et laisse suffisamment d'espace pour un programmeur expérimenté pour mettre en œuvre sa propre logique de programme.
Il y a quelques raisons pour lesquelles un artiste ou un programmeur pourraient vouloir utiliser la bibliothèque openFrameworks. Pour ceux qui commencent tout juste à apprendre la programmation, la bibliothèque supprime le besoin d'écrire de nombreuses lignes de code répétitif en les incluant déjà dans certaines fonctions ou les méthodes. Il pourrait également être plus facile pour certains d'apprendre openFrameworks parce que les conventions de nommage utilisées seront conformes au long de la bibliothèque, en supprimant l'obligation de se familiariser avec les conventions de plusieurs bibliothèques indépendantes.
Les bibliothèques externes utilisées par openFrameworks sont tous open source et peuvent fournir un accès de bas niveau très au matériel comme les cartes graphiques, cartes audio et entrée et les périphériques de sortie. En enveloppant ces fonctions de bas niveau, avec la totalité de leur code nécessaire associé, dans une classe plus cohérente et intuitive qui contient des méthodes faciles à comprendre et utilisés, l'accès de bas niveau est possible pour un artiste ou un programmeur, même si cette personne ne comprend pas le code de bas niveau. L'accès au matériel et logiciel fournit également directement de meilleures performances et des animations fluides et la lecture audio.
OpenFrameworks est conçus pour être une bibliothèque multi-plateforme, donc les programmes qui utilisent le code peuvent être compilé sur presque n'importe quel système d'exploitation et peuvent être exécutés sur des appareils mobiles. Cela peut conduire à de nombreuses possibilités, notamment lors d'une instillation d'art numérique dans une galerie, où il pourrait être possible pour les téléspectateurs de télécharger une oeuvre interactive affiché sur les appareils mobiles pour les visionner plus tard. Un autre avantage d'être multi-plateforme est la capacité à intégrer des dispositifs d'entrée uniques, tels que des écrans tactiles, sur les dispositifs portables ou des caméras de suivi de mouvement en trois dimensions sur les consoles de jeux.