Forums Développement Multimédia

Aller au contenu

Processing

DETENTE

5 réponses à ce sujet

#1 tlecoz

  • Honoris
  • PipPipPipPipPipPipPipPip
  • 3486 messages

Posté 03 November 2012 - 08:34 AM

Hello !

Je me met à Processing depuis environs une semaine, je découvre un peu en fait (je connaissais le nom mais je n'avais jamais essayé) et je voulais vous en faire un petit retour car ce langage me plait bien, en fait je me demande même si je ne le préfère pas à l'AS3 :)

Au niveau des plateformes supportés, Processing peut générer à partir du même code une anim sous forme de :

- appli de bureau (pc/mac/linux)
- appli android / iphone (natif sûre pour android (puisque processing est basé sur le java) ; il me semble que l'export pour iphone génère également du code natif)
- module java pour le web (dans le cas d'anim complexe utilisant des shaders / opengl)
- directement en javascript via Processing.js

Voici à quoi ressemble la première anim que j'ai codé en Processing, en environ 1h30-2h00, avec aucune base. Le tout sous forme d'une anim javascript qui tourne sur android/iphone dans le navigateur (bon ca tourne mal j'avoue, mais il y a des milliers de segments en mouvement aussi ^^) ,

http://beginfill.com/processing/

le javascript étant un langage que je ne connais pas non plus (ou très peu) cela me fait bien plaisir de pouvoir créer des anims si complexe si rapidement :)

Il est possible d'interagir entre une anim créée avec Processing.js et le reste d'un site, mettre en place des webservice , etc... (par contre je n'ai pas vu (mais ca existe peut etre, je n'ai pas tout lu) de moyen de mettre en place un vrai préloader indiquant la progression réelle et précise du chargement d'une image / media )

Coté android, ca fonctionne sans problème, sans modifier la moindre ligne de code.


La syntaxe de processing ressemble à l'as3 en version plus faignante :)


class Exemple extends Machin {
   private string title;
   Exemple(string titre){
          title = titre;
   }
   public string getTitle(){
           return title;
   }
}
 

En gros, c'est pareil avec les mots clé 'var' et 'function' en moins :)

Dans le cadre d'un export autre que javascript, tout repose sur le GPU , donc vous pouvez considérer que Processing est une sorte de super-Starling contenant bien plus de fonctions et dont la première version existe depuis 2004 (autant dire qu'ils ont eu le temps de penser à bien tout simplifier au maximum (je ne crois pas que Processing était basé sur le GPU au début, mais le langage et la logique qui va avec a eu le temps de se peaufiner).

Mieux ! Contrairement à l'AS3 qui permet de coder des shaders avec un langage moisi (l'AGAL) , bourré de contrainte et de restriction en terme de fonctions (et de bugs aussi sur certaines opérations) ; avec Processing, on code les shader en GLSL

Voila une petite démo
http://glsl.heroku.com/e#4621.0

J'ai testé quelques démos avec des effets hyper complexes sur mon téléphone (samsung GS2) et c'est simple : ça ne pourrait pas être plus fluide :)

Il existe des tas de librairie, sans compter que Processing intègre une librairie d'exemples très fournies (il y a environs 1000 exemples je dirais, et tout y passe : les bases, les maths, la physic, la 3d, les shaders, la création de son, la gestion de la video, du micro, etc.... Et il s'agit de vrai exemples, je veux dire des trucs cool pas une représentation ultra abstraite d'une fonction comme on le voit casi systématiquement dans la doc as3.


Au niveau des Shader, quelques cas ont été géré en internes donc même pas besoin de se prendre la tête (flou/ lumière / ombre / ...)

C'est vraiment très ludique et facile à prendre en main, je le recommande à tous les développeur AS3 dépressif.

J'avais conseillé d'utiliser HaxeNME il y a quelque temps qui fait plus ou moins la même chose que Processing avec un langage plus proche de l'AS3 , mais c'était au final assez contraignant car NME est loin d'avoir la maturité de Processing (Starling aussi en est très très loin) et plein de petites choses sont manquante et gênante dans le dev de certains projets. Par ailleurs NME est beaucoup plus compliqué à installer, dans le cas de processing, il n'y a rien a faire : vous dezipper les fichier et l'exe qui lance le logiciel se trouve dedans, sans installation, et tout marche tout de suite sans message d'erreur jamais :)

Il y a assez peu de fonctions dans Processing, on en a vite fait le tour mais au final j'ai du mal à voir ce que je pourrais faire dans flash que je ne pourrais faire dans processing, par contre je vois très facilement le genre de chose que je peux facilement faire avec processing/GLSL et qui me prendrait des nuits avec AS3/AGAL (sans parler du javascript)

http://www.processing.org/reference/

Bonne découverte !

PS : Les gens derrière Processing sont très actif, la dernière version date d'hier :)
(et celle d'avant de la semaine dernière)

#2 Henri_B

    Ceinture Noire

  • Members
  • PipPipPipPipPipPipPip
  • 337 messages

Posté 03 November 2012 - 11:29 AM

Hum... voila une description qui sincèrement me donne envie de regarder tout ça... Merci, c'est clair et c'est concret.

#3 lilive

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 2993 messages

Posté 03 November 2012 - 15:47 PM

Bonjour tlecoz :)

Très sympa de partager ton expérience.

J'avais aussi essayé Processing rapidement, sans problèmes.
Dans les efforts de convertion, je me souviens qu'il faut apprendre à lire la doc de java pour trouver les méthodes dont on a besoin, car même si effectivement il y a pleins de points communs entre la structure de l'AS et java, les détails changent. Ne serait-ce par exemple que la manipulation des chaines de caractères.
De mémoire, je ne pense pas qu'il y ait dans processing un équivalent direct de la liste d'affichage, mais je peux me tromper, et si ce n'est pas le cas ça ne m'étonnerait guère que quelqu'un ait développé une librairie qui permet de simuler ce comportement.

Je ne me suis pas attardé sur processing car je ne cible pas le web pour mes applications, donc tant qu'à changer de langage je suis passé à openframework qui est lui basé sur le C++. Plus dur à prendre en main que Processing quand on vient de l'AS je pense, mais qui doit être plus performant puisque en C++.

Je te souhaite que l'avenir te confirme que tu viens de trouver l'outil qui te sied ;)

Et au fait, très chouette ton animation!

#4 Mandrake

    (`·.¸ . . :✩: . . ¸.·´)

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 1374 messages

Posté 03 November 2012 - 17:53 PM

Hello.
Processing est aujourd'hui pas mal utilisé pour développer des applications (ONull ou Dmesh par exemples…)…
Mais surtout dans le graphisme et l'Art génératif …
Pas mal de projets dans certaines écoles d'Arts l'utilisent (je pense surtout entre autres aux écoles d'Arts du Havre, d'Aix et de Marseille…)…

Une de mes connaissances à écrit un bouquin que je vous recommande :
http://hyperbate.fr/dernier/?p=14933

Sinon vous avez aussi manuel et ressources en français ici :
http://fr.flossmanuals.net/processing/

;)

#5 tlecoz

  • Honoris
  • PipPipPipPipPipPipPipPip
  • 3486 messages

Posté 03 November 2012 - 19:52 PM

Hello lilive,

Tu as raison de le signaler , j'avoues avoir omis volontairement d'en parler dans ma description pour inciter les gens à essayer, mais il est vrai que travailler dans Processing revient à tout dessiner dans le même objet graphics d'une seule Shape (perso je codais comme ça en AS3 donc je ne suis pas trop dépaysé , mais c'est sur que c'est un petit coup de main à prendre)

Citation

et si ce n'est pas le cas ça ne m'étonnerait guère que quelqu'un ait développé une librairie qui permet de simuler ce comportement
Je pensais qu'il y aurait plein de library qui feraient ça, mais je n'en ai pas trouvé ;
j'y travaille de mon coté :)


#6 _lex

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 1016 messages

Posté 05 November 2012 - 10:48 AM

Très intéressant merci !



1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)

authorised training centre

Centre de Formation Mediabox - Adobe et Apple Authorised Training Center.

Déclaré auprès de la Direction du Travail et de la Formation Professionnelle

Mediabox : SARL au capital de 62.000€ - Numéro d'activité : 11 75 44555 75 - SIRET : 49371646800035

MEDIABOX, 23, rue de Bruxelles, 75009 PARIS

FFP