[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[linux] [devel] SDL + antialiasing/blur.
Bonsoir,
Ca faisait un petit temps que je n'avais plus rien poste sur la liste, mais
je la lit toujours avec plaisir.
En fait, j'en avais un peu marre de passer mon temps a configurer Linux, je
suis passe a une autre etape (pour l'instant) : l'utiliser reellement ...
nickel, ca roule sans probleme ;-)
A part cela, je suis aussi dans une phase d'apprentissage du C. J'utilise le
bouquin de K&R qui est bien foutu mais dont les exercices du type "Ecrivez un
programme qui affiche les mots lus en entree en les rangeant par ordre
decroissant de frequence d'apparition, ..." sont peu "sexy" a mon gout.
Donc, je fais des ptits dessins avec SDL. J'ai fait un systeme de particules
(animations de brols plus ou moins aleatoires a l'ecran, genre explosion,
fontaine, ...). Ca marche mais je veux, pour ameliorer le rendu, faire un
"blur" ou "antialiasing" de chaque trame.
Pour cela, pour chaque point (x,y) de l'ecran, je prends la moyenne des
valeurs de couleurs des points se trouvant autour. Cela me donne chaque fois
9 points a traiter : (x-1, y-1), (x, y-1), (x+1, y-1), (x-1, y), (x, y),
(x+1, y), (x-1, y+1), (x, y+1), (x+1, y+1).
Le resultat est tres bon visuellement mais ... ca prend un temps fou a
calculer (j'ai un PII 450 - 128Mb RAM). Surtout qu'il faut 3 passes pour
avoir un resultat valable.
Quelqu'un aurait-il un bon (rapide) algorithme ?
PS : j'ai ameliore un peu les choses (mais pas assez) en ne calculant le
"blur" que pour la partie de l'ecran ou des points on ete dessines.
Avec une resolution de 320x200x32bpp, 100 trames prennent environ 12 secondes
(+/- 8 trames/seconde).
Sans la routine de blur, j'arrive a environ 50 trames/secondes pour le meme
programme ... mais c'est moche ;-)
Merci d'avance.
Philippe
[ Soyez précis dans vos sujets svp afin de déterminer directement ]
[ le type de demande... ]
[ Pour vous (dés)inscrire, aller sur http://linuxbe.org/ml.php ]
[ Archives de la mailing list: http://archives.linuxbe.org/linux/ ]
[ http://LinuxBe.org Contact: listmaster@linuxbe.org ]