- Étudiant-e-s concerné-e-s : 3° / 4° / 5°
- Intitulé : « Programmation artistique avancée avec OpenFrameworks »
- Enseignant (s) : Douglas Edric Stanley
- Date et heure : 9h à 18h du 25 au 29 octobre 2010

Objectifs

- Passer à la vitesse supérieure dans la programmation d'œuvres interactives et évolutives
- Compréhension du langage de programmation C++
- Acquisition des techniques avancés de la programmation, notamment l'usage des pointeurs et vecteurs
- Comprendre l'environement de programmation « XCode »
- Développement d'applications mobile (iPhone, iPodTouch, iPad)
- Intégration de PureData dans un projet OpenFrameworks sur iPhone/iPad

Contenu

OpenFrameworks est un environment de création algorithmique, conçu pour et par des artistes pour faciliter la création de dispositifs interactifs et génératifs. Il s'inspire de la philosophie de Processing, et partage un certain nombre de ces fonctions : si vous vous sentez à l'aise avec les fonction de base de Processing vous serez prêt à passer le cap vers OpenFrameworks.

Pourquoi un deuxième environment de travail, alors ? Tout d'abord pour des questions de vitesse et de qualité d'affichage et d'execution. Processing est basé sur Java, alors qu'OpenFrameworks est basé sur C++, un langage beaucoup plus rapide, mais aussi un peu plus difficile à apprendre, surtout pour ceux qui n'ont jamais touché une ligne de code. En contrepartie de ce supplément d'apprentissage, le langage C++ vous permettra de travailler à la vitesse maximale de votre machine, et de faire certaines choses que vous ne pourriez jamais faire en Java.

Deuxièmement, le langage C++ est très proche de Java et lui ressemble énormément. De cette façon, OpenFrameworks a été conçu pour permettre aux personnes expérimentés de passer de l'un à l'autre dans leur apprentissage, ou en façon des besoins de chaque projet (chaque environment a ses avantages et désavantages).

Enfin, OpenFrameworks vous donnera accès à des fonctionalités — par exemple la vidéo — qui sont difficilement accessible à l'intérieur de Processing ; sinon à des plate-formes nouvelles qui nécessite une meilleure gestion des ressources de la machine, comme la plate-forme iOS d'Apple (iPhone, iPad, AppleTV, ...).

Démo

- OpenFrameworks Gallery
- Anti VJ, et al.
- Arcs21 + Philia 02, Lia, 2009/2010
- IQ Font, et al.
- Lights On, Zach Liberman, et al., 2009
- Sound Yeah, Henry Chu, 2010
- I want you to Want Me - Jonathan Harris and Sep Kamvar, 2008
- Multitouch interface tests - Todd Vanderlin, 2008
- Contact - UVA, 2008
- Delicate Boundaries - Chris Sugrue, 2008
- Opto-Isolator - Golan Levin, 2007
- Reface - Tmema (Golan Levin and Zach Lieberman), 2007
- AR Magic System - Lalalab, 2007
- Funky Forest - Theo Watson and Emily Gobeille, 2007
- Out of Bounds - Chris O'shea, 2007
- L.A.S.E.R tag - GRL, 2007
- OF Logos - Hikaru Furuhashi, 2008

Méthode d'enseignement

Cours intensif. Démonstration et explication des concepts avancés de la programmation, exemples et analyses d'oeuvres interactives, exercises pratiques (individuels et collectifs).

Nous recommandons fortement à tous les participants de réviser l'ensemble des cours sur [Processing–>rub81], notament ceux sur les listes et la programmation orientée-objet. Le cours sur Processing sera par exemple une bonne préparation pour cette formation.

Matériel personnel

Les machines sont fournis par l'atelier, et les logiciels entièrement gratuits. Nous recommandons néanmois aux étudiants d'apporter leurs ordinateurs portables s'ils en possèdent. Pour ceux voulant exécuter directement leurs programmes sur iPhone ou iPhone, une machine MacIntel sera nécessaire.

Références bibliographiques

- OpenFrameworks
- Cours en ligne / OpenFrameworks (en français) : OpenFrameworks
- OpenFrameworks wiki
- C++ Language Tutorial

- openFrameworks on vimeo
- openFrameworks on youtube
- openFrameworks on flickr
- "Creative Applications", blog (http://www.creativeapplications.net...)

- « Programming Interactivity : A Designer's Guide to Processing, Arduino, and openFrameworks », Joshua Noble (lien AppStore)
- « Designing Interactions » Bill Moggridge, ed.
- « Code de création » John Maeda, ed. (+)
- « Design by Numbers » John Maeda (+)
- « Maeda@Media » John Maeda (+)
- « 4D Space, Interactive Architecture » Lucy Bullivant, ed.
- « Physical Computing » Dan O'Sullivan & Tom Igoe

(+) livres disponibles au centre de documentation