Pour ceux qui ne le sauraient pas, je suis à l’origine du projet Sandy, projet ayant pour but de créer une librairie permettant de concevoir des scènes 3D pour Flash.
Lors de la réalisation de ce moteur, j’ai développé une classe permettant de déformer un bitmap par le code (chose impossible nativement). Vous pouvez voir le résutat ici : http://sandy.media-box.net/blog/distordimage-the-way-to-distord-bitmaps-by-code.html
Hier soir j’ai eu une idée pour améliorer cette classe et la rendre beaucoup plus performante. Après des tests simples, je peux estimer un gain de 300 % ! Du coup je me suis motivé pour prendre sur mon temps de sommeil et travailler sur cette idée (simple!).
L’idée de base est d’éviter de redessiner à chaque fois la partie du bitmap dans le repère modifié par la distortion. J’ai donc voulu mettre en cache les triangles en les dessinant une seule fois dans un MovieClip et en activant le cacheAsBitmap.
Ensuite il “suffirait” de modifier la matrice des movieclips (propriété MovieClip.transform.matrix) pour ajustet la transformation.
N’ayant malheureusement pas de temps à y consacrer et trouvant cette idée intéréssante, j’ai voulu la partager afin que quiconque intéréssé par cette classe puisse y apporter sa contribution. Le post résume avec les sources se trouve ici :
http://sandy.media-box.net/forum/index.php?showtopic=5168 (anglais)
N’hésitez pas à apporter votre brique à cet édifice (lol), tout la communauté pourra en profiter ![]()
++
20 March 2006 à 10:05 pm
Concernant le skew (le calcul) que Andre michelle aurait trouvé …
, il lui a suffit de lire le texturage sous GBA (GameBoy Advance) :
d’ailleurs en voici le lien :
http://user.chem.tue.nl/jakvijn/tonc/affine.htm
si vous allez a la page d’accueil du site
vous y trouverez aussi des infos sur le mode 7 aussi
bonne lecture…
21 March 2006 à 10:23 am
Salut Thomas
Juste un petit mot pour te dire que je ne t’oublie pas et que j’aurai aimé t’aider (dans la mesure de mes possibilités “techniques” bien sur).
Malheureusement mon emploi du temps est saturé jusqu’à début avril… Après, je devrais (enfin) avoir un peu de temps pour la communauté open-source.
@++, Darios.
21 March 2006 à 9:14 pm
Comme tu le sais je trouve ton idée caréeement bonne et parfaitement jouable techniquement. Si j’ai le temps de m’y pencher, ça sera bien volontiers !
21 March 2006 à 9:16 pm
Yep

Bein en fait c’est presque déja fini hihi ^^
Va faire un tour sur le forum, j’y présente les résultats que l’on obtient.
On voit bien comme je t’avais dis les lignes blanches, certainement dues aux erreurs d’approximation des nombres (ce que tu connais bien). J’ai pas le temps ce soir de réfléchir sur comment les enlever mais a doit etre faisable
++
22 March 2006 à 1:05 am
Oui je confirme que c’est faisable
22 March 2006 à 8:42 am
héhé

Je j’attend confirmation de RichL et je publie la nouvelle classe
11 January 2007 à 9:37 pm
Des news de cette distortimage v2 ???
Oh ca serait le super pied, j’attend avec grande impatience !
Ca été possible d’améliorer le rendu en smoothant l’image ? J’essaye en vain sur distort image 1 mais sans succès..
11 January 2007 à 10:10 pm
Bah regardes le post juste apres celui ci
Ce sont surtout les perds qui sont meilleures, apres le rendu depend de ce que l’on veut faire et de l’image en entrée.
++
24 May 2007 à 8:35 am
Hello tout le monde
Et surtout a toi kirikou, qui nous fait un si bon travail.
Un peu de pomade je sais, mais bon tes souces & class sont vraiment super, donc chapeau bas monsieur.
Sinon juste une p’tite question, est ce que quelqu’un aurait porté DistortImage en CS3 (As3)
Car j’ai actuellement un projet qui requiere cette classe, mais j’ai bien envi de le faire avec CS3 pour m’y faire (faut bien s’y atteler ;))
Donc voilou ca le ferait, sinon je retournerais a Flash8
++ @ tous
Benjy
24 May 2007 à 9:12 am
salut,
et bien bcp l’ont fait, mais moi pas encore.
Si tu cherches sur google, Alex Ulhmann en propose une version sur son blog (il est consultant Adobe). Bonne recherche et amues toi bien.
Thomas