Wiki

Reso-nance numérique | Arts et cultures libres

Outils du site


logiciels:openframeworks:accueil

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
logiciels:openframeworks:accueil [2015/03/15 17:59]
resonance [Comparaisons avec Processing]
logiciels:openframeworks:accueil [2018/01/18 06:56] (Version actuelle)
chenjianwei [2D et 3D PRIMITIVES]
Ligne 1: Ligne 1:
-====== OpenFrameworks ====== +http://www.adidas-eqt.us.com 
-OpenFrameworks est une boîte à outil (//framework//) écrite en C + + pour le code créatif+http://www.nikerosheone.co.uk 
-http://openframeworks.cc+http://www.nikemercurial.us.com 
 +http://www.lebron15.net 
 +http://www.balenciagashoes.us.com 
 +http://www.toryburchshoes.us 
 +http://www.hardenshoes.us.com 
 +http://www.air-max.us.com 
 +http://www.jordanshoes.uk 
 +http://www.adidassuperstar.us.com 
 +http://www.adidasonlineshop.us.com 
 +http://www.pradasunglasses.us.org 
 +http://www.adidasgazelle.us.com 
 +http://www.mlbjerseyscheap.us 
 +http://www.kobe-shoes.us.com 
 +http://www.kobebasketballshoes.us.com 
 +http://www.hoganoutlet.cc 
 +http://www.jordan13.us.com 
 +http://www.pandorabracelet.in.net 
 +http://www.lebron15shoes.us.com 
 +http://www.adidasstansmith.us.com 
 +http://www.adidasnmdrunner.us.com 
 +http://www.boostyeezy.us.com 
 +http://www.kobesneakers.com 
 +http://www.yeezy-shoes.us 
 +http://www.nikehuarache.co.uk 
 +http://www.outletonline-michaelkors.us.org 
 +http://www.nike-airmax90.uk 
 +http://www.linksoflondon.us.com 
 +http://www.offwhitehoodie.us.com 
 +http://www.nikerosheone.us.com 
 +http://www.adidas-tubular.us.com 
 +http://www.outletonlinekatespade.us.com 
 +http://www.nikehyperdunk2017.us.com 
 +http://www.rosherun.us.com 
 +http://www.lebron-soldier10.us.com 
 +http://www.cartierbracelet.us 
 +http://www.retro-jordans.us.com 
 +http://www.adidasyeezyshoes.us.org 
 +http://www.linksoflondonus.com 
 +http://www.michaelkors-outletsonline.us.com 
 +http://www.lacosteonlineshop.us.com 
 +http://www.nikeairforce1.us.com 
 +http://www.airmax90.us.org 
 +http://www.jordan-retro.us.com 
 +http://www.stephencurry-shoes.us.com 
 +http://www.monclersoutlet.us.com 
 +http://www.yeezyboost350v2shoes.us.com 
 +http://www.jordan6.us.com 
 +http://www.lebron13.us.com 
 +http://www.nikedunks.us.org 
 +http://www.outletlongchamp.us.com 
 +http://www.longchamphandbagsoutlet.us.org 
 +http://www.airjordan.us.com 
 +http://www.hermes-birkin.us.com 
 +http://www.goldengoose-outlet.us.com 
 +http://www.hermesbelts.co.uk 
 +http://www.chrome-hearts.us.org 
 +http://www.supremeclothing.us 
 +http://www.kevindurant-shoes.us.com 
 +http://www.adidasnmds.com 
 +http://www.nmdadidasus.com 
 +http://www.charmspandora.in.net 
 +http://www.nike-huarache.com 
 +http://www.bape-hoodie.us.com 
 +http://www.adidasoutletonline.us.com 
 +http://www.hermesbelts.com 
 +http://www.fitflops-saleclearance.us.com 
 +http://www.nike-hyperdunk.us.com 
 +http://www.goyard-handbags.us.com 
 +http://www.jewelrypandora.in.net 
 +http://www.outlettimberland.us.org 
 +http://www.michael--korsoutlet.us.org 
 +http://www.yeezy-shoes.uk 
 +http://www.kobebasketballshoes.net 
 +http://www.michaeljordanshoes.net 
 +http://www.adidassuperstar.org.uk 
 +http://www.offwhiteclothing.us.com 
 +http://www.ferragamobelt.us 
 +http://www.guccibelt.us.com 
 +http://www.chromehearts.com.co 
 +http://www.yeezyboost350v2.org.uk 
 +http://www.hermes-handbags.us.com 
 +http://www.paulgeorgeshoes.us 
 +http://www.cheapnbajerseys.us.org 
 +http://www.nike-airmax2017.us.com 
 +http://www.patriotsjerseys.us.com 
 +http://www.vancleefarpels.us.com 
 +http://www.michaelkorshandbags.net.co 
 +http://www.supremehoodie.us.com 
 +http://www.jordanshoes.com.co 
 +http://www.adidas-tubular.us.com 
 +http://www.longchamp-bags.us.org 
 +http://www.louboutinshoes.uk 
 +http://www.yeezy-shoes.us.org 
 +http://www.yeezy-boost350.us.com 
 +http://www.long-champhandbags.org.uk 
 +http://www.adidasultraboost.us.org 
 +http://www.curry3.in.net 
 +http://www.jordan11retro.us.com 
 +http://www.airjordanretro.uk 
 +http://www.thelightupshoes.us.com 
 +http://www.reebokoutlet.us.org 
 +http://www.goyardhandbags.us.com 
 +http://www.adidasstore.us.com 
 +http://www.nikezoom.us.com 
 +http://www.fitflops.cc 
 +http://www.cheap--jordans.us.com 
 +http://www.michaelkors-outletstore.us.com 
 +http://www.monclerjacketsale.us 
 +http://www.nikehuaracheshoes.us.com 
 +http://www.vans-shoes.us.org 
 +http://www.ledshoes.us.com 
 +http://www.converseoutlet.us.com 
 +http://www.nikezoom.me.uk 
 +http://www.bapehoodie.us 
 +http://www.adidasstansmith.uk 
 +http://www.kyrie3.us.com 
 +http://www.outletlacoste.us.com 
 +http://www.yeezys.org.uk 
 +http://www.truereligionjeans-outlets.us.com 
 +http://www.michaelkors-outletonlines.us.com 
 +http://www.yeezyboost.in.net 
 +http://www.michael-kors-handbags.org.uk 
 +http://www.authenticjordanscheap.us.com 
 +http://www.chromehearts.net.co 
 +http://www.michaelkors-outletfactory.us.org 
 +http://www.nikeairmax2018.us.com 
 +http://www.hermes-belt.us.com 
 +http://www.yeezy-boost.us.com 
 +http://www.nikefoamposite.us.com 
 +http://www.calvinkleinoutlet.us.com 
 +http://www.nikehuarache.uk 
 +http://www.adidasneo.us.com 
 +http://www.birkinbag.us.com 
 +http://www.nikebasketballshoes.us.com 
 +http://www.longchamphandbags.us.org 
 +http://www.asicsrunningshoes.us.org 
 +http://www.yslhandbags.org 
 +http://www.yeezy-shoes.org.uk 
 +http://www.goldengoose.us.com 
 +http://www.lebron14.us.com 
 +http://www.lebronjames-shoes.us.com 
 +http://www.adidastubular.co.uk 
 +http://www.goldengoose-snearkers.com 
 +http://www.cheapretro-jordans.com 
 +http://www.basketball-shoes.us.com 
 +http://www.longchampbags.us.org 
 +http://www.paulgeorgeshoes.us.com 
 +http://www.yeezys.us.org 
 +http://www.nikepolo.us 
 +http://www.adidasyeezy.co.uk 
 +http://www.michael-kors-handbags.com.co 
 +http://www.toryburchshoes.org.uk 
 +http://www.curry4shoes.us.com 
 +http://www.vibramfivefingers.us.com 
 +http://www.cheap-airjordans.us.com 
 +http://www.jordan12.us.com 
 +http://www.tomford-sunglasses.us.com 
 +http://www.kobeshoes.uk 
 +http://www.vans-outlet.us.com 
 +http://www.katespadehandbags-outlet.us.com 
 +http://www.adidas-nmds.us.com 
 +http://www.balenciagasneakers.com 
 +http://www.cheaprealjordans.us.com 
 +http://www.yeezyboost.com.co 
 +http://www.nfljerseys.us.org 
 +http://www.curry4.us.com 
 +http://www.adidasultra.us.com 
 +http://www.christian-louboutin.eu.com 
 +http://www.shoesjordan.us.com 
 +http://www.jordan4.us.com 
 +http://www.kyrie4.org 
 +http://www.nike-freerun.us.com 
 +http://www.atlantafalconsjerseys.us 
 +http://www.michaeljordanshoes.us.com 
 +http://www.kyrie4shoes.us.com 
 +http://www.converse-shoes.us.com 
 +http://www.yeezy-shoes.org 
 +http://www.ultraboost.us.com 
 +http://www.nhljerseys.us.org 
 +http://www.truereligion-outlets.us.com 
 +http://www.jordansforcheap.us.com 
 +http://www.lebron-soldier11.us.com 
 +http://www.adidasnmd.uk 
 +http://www.diorsunglasses.in.net 
 +http://www.adidasoutletonline.com 
 +http://www.nike-airforce1.us.com 
 +http://www.kyrieirving-shoes.us.com 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 +===== 2D et 3D PRIMITIVES ===== 
 +Cercle, carré, rectangle, sphère, cylindre, tore, cone, ..
 + 
 +{{.:primitives.png}}
  
-{{vimeo>74124094?medium}} 
  
 ===== Ressources ===== ===== Ressources =====
  
-  * Un livre de la communauté (en cours de rédaction, mais déjà bien fourni) : [[https://github.com/openframeworks/ofBook|ofBook]], et en pdf {{:logiciels:openframeworks:ofbook.pdf|ofbook.pdf}} +  * Un livre de la communauté (en cours de rédaction, mais déjà bien fourni) : [[https://github.com/openframeworks 
-  * http://openframeworks.cc/tutorials+/ofBook|ofBook]], et en pdf {{:logiciels:openframeworks:ofbook.pdf|ofbook.pdf}} 
-  * https://en.wikipedia.org/wiki/OpenFrameworks+  * Le livre "Programming Interactivity" de Joshua Noble 
 +  * Tous les objets : http://openframeworks.cc/documentation
 +  * Les tutoriels : http://openframeworks.cc/tutorials/
   * Tutoriel en français : http://www.ecole-art-aix.fr/rubrique906.html   * Tutoriel en français : http://www.ecole-art-aix.fr/rubrique906.html
   * Feuille mémo : [[https://www.dropbox.com/s/fcv9ux3c080xzq2/openFrameworks%20Cheat%20Sheet%20and%20Quick%20Reference%20V0.3.pdf?dl=0| CheatSheet.pdf]]   * Feuille mémo : [[https://www.dropbox.com/s/fcv9ux3c080xzq2/openFrameworks%20Cheat%20Sheet%20and%20Quick%20Reference%20V0.3.pdf?dl=0| CheatSheet.pdf]]
  
 ===== Atelier ===== ===== Atelier =====
-  * [[.:Atelier:]] : dessins, tableau, matrice, données, fichiers, images, mesh, vidéo, ...+  * [[.:Atelier:]] donné au LFO les 14 et 15 mars 2015 : dessins, tableau, matrice, données, fichiers, images, mesh, vidéo, ...
  
 ===== Exemples ===== ===== Exemples =====
Ligne 40: Ligne 245:
 //Adapté du livre "Programming Interactivity", page 153// //Adapté du livre "Programming Interactivity", page 153//
  
-  * OpenFrameworks est une boîte à outil en C + + avec un langage, ni plus ni moins un dossier à télécharger. Pour ouvrir, compiler et exécuter les projets il faut installer un logiciel que l'on nomme environnement de développement intégré (IDE en anglais) comme Code::Blocks pour Windows et Linux ou XCode pour Mac. Processing est à la fois une boîte à outil avec un langage et l'environnement de développement.  +  * OpenFrameworks est une boîte à outil en C + + avec un langage, sous la forme d'un dossier à télécharger. Pour ouvrir, compiler et exécuter les projets il faut installer un logiciel que l'on nomme environnement de développement intégré (IDE en anglais) comme Code::Blocks pour Windows et Linux ou XCode pour Mac. Processing est à la fois une boîte à outil avec un langage et l'environnement de développement.  
-  * OpenFrameworks est du pur C + +, Processing est un langage simplifié du Java (mais peut-être utilisé directement dans Java)+  * OpenFrameworks est du pur C + +, Processing est un langage simplifié du Java (mais peut être utilisé directement dans Java)
   * Internet : plus simple avec Processing   * Internet : plus simple avec Processing
   * Beaucoup de 3D : OpenFrameworks (C + +)   * Beaucoup de 3D : OpenFrameworks (C + +)
Ligne 54: Ligne 259:
   - Télécharger [[http://openframeworks.cc/download/|OpenFrameworks]] pour votre plateforme (Mac, Windows, Linux)    - Télécharger [[http://openframeworks.cc/download/|OpenFrameworks]] pour votre plateforme (Mac, Windows, Linux) 
   - Installer et configurer l'environnement de développement (IDE) pour votre plateforme : [[http://openframeworks.cc/setup/codeblocks/| Code::Blocks pour Windows]], [[http://openframeworks.cc/setup/linux-codeblocks/|Code::Blocks pour Linux]] ou [[http://openframeworks.cc/setup/xcode/|XCode pour Mac]].   - Installer et configurer l'environnement de développement (IDE) pour votre plateforme : [[http://openframeworks.cc/setup/codeblocks/| Code::Blocks pour Windows]], [[http://openframeworks.cc/setup/linux-codeblocks/|Code::Blocks pour Linux]] ou [[http://openframeworks.cc/setup/xcode/|XCode pour Mac]].
-  - Pour Windows, télécharger aussi [[http://www.openframeworks.cc/content/files/codeblocks_additions.zip|codeblocks_additions.zip]] et suivre la procédure (il s'agit de copier des fichiers tout simplement)+  - Pour Windows, télécharger aussi [[http://www.openframeworks.cc/content/files/codeblocks_additions.zip|codeblocks_additions.zip]] et suivre la procédure (il s'agit de copier le contenu de deux répertoires tout simplement) 
 +  - Pour Linux, il y a un dossier avec les scripts nécessaires à l'installation de Code::Blocks et des bibliothèques nécessaires : 
 +    - **cd your_oF_directory/scripts/linux/ubuntu** 
 +    - **sudo ./install_codeblocks.sh** 
 +    - **sudo ./install_dependencies.sh** 
 +    - if you want to have support for mp3 and some video codecs: **sudo ./install_codecs.sh**
 ===== Structure ===== ===== Structure =====
  
   * OpenFrameworks est un **dossier**   * OpenFrameworks est un **dossier**
 +
 +  * Un projet, c'est le dossier de votre projet associé aux accès vers toutes les fonctions et outils disponibles dans le Frameworks
 +{{:logiciels:openframeworks:of-structure.jpg?600|}}
 +
 +  * Trois fichiers pour commencer : main.cpp, ofApp.h, ofApp.cpp
 +{{:logiciels:openframeworks:ofclasses2.jpg?600|}}
  
   * Tous vos projets doivent être placés dans le dossier apps/myApps pour respecter la **hiérarchie**, car les projets cherchent les fichiers d'OpenFrameworks dans les répertoires au-dessus ("../../../libs")   * Tous vos projets doivent être placés dans le dossier apps/myApps pour respecter la **hiérarchie**, car les projets cherchent les fichiers d'OpenFrameworks dans les répertoires au-dessus ("../../../libs")
Ligne 74: Ligne 290:
   * Drawing in opengl is asynchronous, meaning after you fire off a bunch of commands to draw, they can be running in the background and return control back to your app. If you seperate out your drawing code from your non drawing code there’s a potential your code will be faster.   * Drawing in opengl is asynchronous, meaning after you fire off a bunch of commands to draw, they can be running in the background and return control back to your app. If you seperate out your drawing code from your non drawing code there’s a potential your code will be faster.
   * it’s useful for debugging. If you want to know why your code is running slow, now you can comment out the drawing and see if the visual representation that’s slow or the updating   * it’s useful for debugging. If you want to know why your code is running slow, now you can comment out the drawing and see if the visual representation that’s slow or the updating
 +
  
  
Ligne 177: Ligne 394:
 Pour créer des objets en 3D, les manipuler, il faut essayer de comprendre deux champs : Pour créer des objets en 3D, les manipuler, il faut essayer de comprendre deux champs :
   * les notions mathématiques utilisées ([[http://www.mathsisfun.com/algebra/vectors.html|vecteurs]], système de coordonnées, etc.)   * les notions mathématiques utilisées ([[http://www.mathsisfun.com/algebra/vectors.html|vecteurs]], système de coordonnées, etc.)
-  * l'imagerie 3D : Vertex, Vecteur, Mesh, Face, OpenGl, Shader, Matrices, VBO, Vertex Array, OpenGl Pipeline, Transformations, ... Voir : [[:logiciels:terminologie-3d:]]+  * l'imagerie 3D avec l'idée de tirer parti au maximum des ressources du processeur graphique (GPU) : Vertex, Vecteur, Mesh, Face, OpenGl, Shader, Matrices, VBO, Vertex Array, OpenGl Pipeline, Transformations, ... Voir aussi : [[:logiciels:terminologie-3d:]] 
 + 
 +{{:logiciels:openframeworks:screen_shot_2012-11-11_at_7.10.06_pm.png?600|}} 
 +{{:logiciels:terminologie-3d:mesh.png?600}} 
 + 
 +===== OpenGL / GLSL ===== 
 +  * Le **triangle** est la figure élémentaire pour fabriquer des scènes 3D ou 2D. Presque tout est triangle. 
 +  * **Pipeline OpenGL** : 
 +    - Votre application OpenFrameworks remplit la mémoire avec un tableau de points 3D, appelés "sommets" ou "**vertices**" 
 +    - Ces sommets sont **projetés** sur l'écran 
 +    - Assemblés en **triangles** 
 +    - Fragmentés en pixels, on parle de **rasterization** 
 +    - Et finalement, une couleur est assignée à chaque pixel 
 +  * **Vertex Shader** : les positions des sommets, peut aussi générer la couleur et les coordonnées de la texture pour la rasterisation. 
 +  * **Fragment Shader** : les couleurs des pixels 
 +  * **GLSL** : With GLSL, you can code short programs, called shaders, which are executed on the GPU. A shading language is a special programming language adapted to easily map on shader programming. It doesn't look trememndously different from what you see in the OF math classes: float, vec4, mat4, and so on.  
 + 
 +{{:logiciels:openframeworks:of-shader.jpg?600|}} 
 + 
 +{{:logiciels:openframeworks:of-gl-modes.jpg?600|}} 
 + 
 +{{youtube>XMgfddy7S7Q?medium}} 
  
-<blockquote>The triangle is the root of making 3d or even 2d scenes. We spend a lot of time trying to hide this or make them fancier, flashing, sparklier, etc, but the truth is: pretty much everything is a triangle.</blockquote>+==== Shader ====
  
-{{:logiciels:openframeworks:gl1-pipeline-01.png?300 |}} +=== Version === 
-{{:logiciels:openframeworks:screen_shot_2012-11-11_at_7.10.06_pm.png?300|}} +Pour connaître la version OpenGL de votre carte graphique, il existe un exemple dans OpenFrameworks/examples/gl/glInfoExample.
-{{:logiciels:terminologie-3d:mesh.png?300}}+
  
 +{{:logiciels:openframeworks:glinfo.png?600|}}
  
 +<blockquote>Most graphics cards support OpenGL3 but some do not. You can always run the glInfoExample in examples/gl to see what your computer supports if you run into trouble or are just curious. Finally, we have OpenGL ES 2, which is what is supported on Android, iOS, and which you might be familar with from WebGL. It doesn't have a declaration at the top, but you'll notice something in most GLES shaders:</blockquote>
 ==== Ressources ==== ==== Ressources ====
   * On peut utiliser beaucoup de ressources de Processing, dont http://natureofcode.com/book/ ou http://www.generative-gestaltung.de/   * On peut utiliser beaucoup de ressources de Processing, dont http://natureofcode.com/book/ ou http://www.generative-gestaltung.de/
/home/resonancg/www/wiki/data/attic/logiciels/openframeworks/accueil.1426438767.txt.gz · Dernière modification: 2015/03/15 17:59 de resonance