TutorielsVous débutez ? C'est ici qu'on commence !
Mon compte
Recherche
Livre d'or
PublicitéVous devez être inscrit pour pouvoir poster des messages
Le problème de ce sujet a été résolu
| Page : 1 2 Suivante | |||
| Auteur | Message | ||
|---|---|---|---|
| 1 visiteur sur ce sujet (1 anonyme) | |||
| Page : 1 2 Suivante | |||
Hertzien'
|
# Posté le 03/07/2008 à 15:29:17 | ||
C++, C(encore)++ fort !![]() Groupe : Membres |
Bonjour à tous les zéros,
Voulant pratiquer avec les cosinus et les sinus (Faut dire que j'ai 11 ans, et que j'ai du mal à les comprendre ), je me suis mit à réfléchir sur un algorithme pour dessiner un cercle.Je n'ai pas de "problème" au traçage, mais que ce dernier n'est pas lisse. Une image vaut mieux qu'un long discours : ![]() Zoom à 400% Voici le code que je souhaite optimiser (Pas très propre) Code : C++
Merci de votre soutien, Midoagent47 Mon problème : [FFMpeg] Installation Notre équipe : C++ (au complet !) SuperTux : Le jeu qui innove ! SFML - Anim : Ma classe C++ pour gérer les sprites SFML animés |
||
neuneutrinos
|
# Posté le 03/07/2008 à 15:43:04 | ||
![]() Groupe : Membres |
tu arrondit le résultat donc c'est pixelisé.
tu dois représenter les 0.36 pixels par exemples pour cela tu colorie le pixel intelligemment imagine que le reste (entre 0 et 1) imagine que ce soit un pourcentage ![]() si tu à u reste de 12 alors le pixel doit être à 88% transparent (ou 12% visible )(je ne sais pas faire la transparence en SFML donc je m'arrêterais la )
Édité
le 03/07/2008 à 15:43:48
par neuneutrinos
|
||
Hertzien'
|
# Posté le 03/07/2008 à 15:47:14 | ||
C++, C(encore)++ fort !![]() Groupe : Membres |
Ou plutôt comment gérer la transparence en OpenGL :S
Mon problème : [FFMpeg] Installation Notre équipe : C++ (au complet !) SuperTux : Le jeu qui innove ! SFML - Anim : Ma classe C++ pour gérer les sprites SFML animés |
||
Bachir ElMagnifico
|
# Posté le 03/07/2008 à 15:52:04 | ||
http://info-crea.tuxfamily.org![]() Groupe : Membres |
si tu veux utiliser pi, il faut plus de precision, sert toi de la bibliotheque cmath qui fournit une constante plus precise
![]() cherche des partenaires - page de contact. mon tuto sur OgreNewt: partie 1, partie 2, partie 3, partie 4 |
||
Fvirtman
|
# Posté le 03/07/2008 à 15:54:42 | ||
![]() Groupe : Membres |
Cette réponse a aidé l'auteur du sujet![]() pour cela, utilise Gl_LINE --- "Toute tâche répétitive est automatisable..." --- Tuto C/C++ basés sur des exemples : http://perso.numericable.fr/~fvirtman/info/tuto/index.html Mes programmes a peu pres finis : http://perso.numericable.fr/~fvirtman/progs/index.html |
||
Hertzien'
|
# Posté le 03/07/2008 à 15:56:29 | ||
C++, C(encore)++ fort !![]() Groupe : Membres |
J'ai fait un #define Pi 3,1415926535897932384626433832795028841971 693993751058209749445923078164062862089986280348253421170679
Mais j'ai toujours le même résultat. Devrais je faire de l'anticrénélage ? Fvirtman> Le résultat est encore mieux, mais l'angle je le met à combien ?
Édité
le 03/07/2008 à 15:59:45
par Hertzien'
Mon problème : [FFMpeg] Installation Notre équipe : C++ (au complet !) SuperTux : Le jeu qui innove ! SFML - Anim : Ma classe C++ pour gérer les sprites SFML animés |
||
Fvirtman
|
# Posté le 03/07/2008 à 15:58:17 | ||
![]() Groupe : Membres |
Déja, fait les segments comme je te dis
Ensuite, inutile de mettre autant de décimales a PI : 8 - 10 suffisent amplement Ensuite, tu as aussi un effet d'optique, tu traces un cerle blanc sur fond noir : le contraste est tres tres fort, et l'oeil y est tres sensible. --- "Toute tâche répétitive est automatisable..." --- Tuto C/C++ basés sur des exemples : http://perso.numericable.fr/~fvirtman/info/tuto/index.html Mes programmes a peu pres finis : http://perso.numericable.fr/~fvirtman/progs/index.html |
||
Bachir ElMagnifico
|
# Posté le 03/07/2008 à 15:59:52 | ||
http://info-crea.tuxfamily.org![]() Groupe : Membres |
il n'est pas blanc, c'est bleu tres claire
l'oeil n'est pas assez sensible finalement
![]() cherche des partenaires - page de contact. mon tuto sur OgreNewt: partie 1, partie 2, partie 3, partie 4 |
||
Hertzien'
|
# Posté le 03/07/2008 à 16:01:20 | ||
C++, C(encore)++ fort !![]() Groupe : Membres |
Non je trace pas un cercle blanc sur un fond noir, la couleur change !
Voici mon nouveau code Code : C++
Édité
le 03/07/2008 à 16:07:59
par Hertzien'
Mon problème : [FFMpeg] Installation Notre équipe : C++ (au complet !) SuperTux : Le jeu qui innove ! SFML - Anim : Ma classe C++ pour gérer les sprites SFML animés |
||
Fvirtman
|
# Posté le 03/07/2008 à 16:02:02 | ||
![]() Groupe : Membres |
oui, il est vrai
mais contraste fort tout de meme tout ce qui est sur fond noir amplifie tous les effet d'aliasing, de persistance rétinienne, et plein de trucs ! Le fond noir, c'est mal
--- "Toute tâche répétitive est automatisable..." --- Tuto C/C++ basés sur des exemples : http://perso.numericable.fr/~fvirtman/info/tuto/index.html Mes programmes a peu pres finis : http://perso.numericable.fr/~fvirtman/progs/index.html |
||
Hertzien'
|
# Posté le 03/07/2008 à 16:21:03 | ||
C++, C(encore)++ fort !![]() Groupe : Membres |
Up !
Mon problème : [FFMpeg] Installation Notre équipe : C++ (au complet !) SuperTux : Le jeu qui innove ! SFML - Anim : Ma classe C++ pour gérer les sprites SFML animés |
||
Fvirtman
|
# Posté le 03/07/2008 à 16:32:48 | ||
![]() Groupe : Membres |
je te l'ai dit : l'oeil est sensible a cela, et le contraste tres fort entre ta ligne et ton fond noir empire les choses : c'est un effet d'optique.
Prend paint, ouvre paint, colorie ton fond en noir, prend la couleur blanche et trace un cercle : tu verras que ça fait pareil --- "Toute tâche répétitive est automatisable..." --- Tuto C/C++ basés sur des exemples : http://perso.numericable.fr/~fvirtman/info/tuto/index.html Mes programmes a peu pres finis : http://perso.numericable.fr/~fvirtman/progs/index.html |
||
Hertzien'
|
# Posté le 03/07/2008 à 16:38:17 | ||
C++, C(encore)++ fort !![]() Groupe : Membres |
Oui, en effet ! Par contre en utilisant Paint.NET on n'a pas de crénelage (Fond noir, et bords blancs !!)
Mais y a t-il moyen pour ne plus avoir ce crénelage ? EDIT: J'ai fait un très grand Zoom (2400%) sur le cercle généré par Paint.NET, sur chaque pixel on diminue l'intensité de la couleur doucement pour qu'elle se rapproche de la couleur du fond: ![]() Comment faire ceci ?
Édité
le 03/07/2008 à 17:06:39
par Hertzien'
Mon problème : [FFMpeg] Installation Notre équipe : C++ (au complet !) SuperTux : Le jeu qui innove ! SFML - Anim : Ma classe C++ pour gérer les sprites SFML animés |
||
neuneutrinos
|
# Posté le 03/07/2008 à 17:34:03 | ||
![]() Groupe : Membres |
Cette réponse a aidé l'auteur du sujetmais c'est de la 2D... donc tu peux travailler pixel par pixel
|
||
Hertzien'
|
# Posté le 03/07/2008 à 18:36:12 | ||
C++, C(encore)++ fort !![]() Groupe : Membres |
Bon voilà mon nouveau code, mais l'image est "mieux":
Code : C++
Mon problème : [FFMpeg] Installation Notre équipe : C++ (au complet !) SuperTux : Le jeu qui innove ! SFML - Anim : Ma classe C++ pour gérer les sprites SFML animés |
||
Bachir ElMagnifico
|
# Posté le 03/07/2008 à 18:37:01 | ||
http://info-crea.tuxfamily.org![]() Groupe : Membres |
remplace Angle += 0.1f; par Angle += 0.05f;
![]() cherche des partenaires - page de contact. mon tuto sur OgreNewt: partie 1, partie 2, partie 3, partie 4 |
||
Hertzien'
|
# Posté le 03/07/2008 à 18:44:25 | ||
C++, C(encore)++ fort !![]() Groupe : Membres |
Rien ne change ...
Mon problème : [FFMpeg] Installation Notre équipe : C++ (au complet !) SuperTux : Le jeu qui innove ! SFML - Anim : Ma classe C++ pour gérer les sprites SFML animés |
||
Fvirtman
|
# Posté le 03/07/2008 à 20:01:56 | ||
![]() Groupe : Membres |
modifier l'angle ne changera pas l'aliasing.
Sauf erreur de ma part, les GL_LINE_STRIP, GL_POINT, et tous les autres, ne gerent pas l'antialiasing comme tu voudrais. Donc, a moins de reprogrammer manuellement quelque chose tu vas avoir du mal. Mais apres, peut etre que cela a évolué depuis le temps, je ne sais pas ! Mais pourquoi tiens tu tant a enlever cet effet ? (j'attends ta réponse : c'est moche) Je pense que, a l'avenir, tu mettras un autre fond que le fond noir non ? Je me repete, mais c'est ce fond noir qui te fait voir cet effet Le fond noir est un fléau qui fait réagir l'oeil humain. Sitot le fond noir enlevé, tu y verras beaucoup moins ![]() Quel est ton but apres avoir fait cela ? Vers quoi veux tu t'orienter ? --- "Toute tâche répétitive est automatisable..." --- Tuto C/C++ basés sur des exemples : http://perso.numericable.fr/~fvirtman/info/tuto/index.html Mes programmes a peu pres finis : http://perso.numericable.fr/~fvirtman/progs/index.html |
||
Hertzien'
|
# Posté le 03/07/2008 à 20:16:07 | ||
C++, C(encore)++ fort !![]() Groupe : Membres |
Citation
Je pense que, a l'avenir, tu mettras un autre fond que le fond noir non ? Je me repete, mais c'est ce fond noir qui te fait voir cet effet Le fond noir est un fléau qui fait réagir l'oeil humain. Sitot le fond noir enlevé, tu y verras beaucoup moins ![]() Mais comment font les développeurs de Paint.NET Et autres ? </citation> Citation Quel est ton but apres avoir fait cela ? Vers quoi veux tu t'orienter ? Juste comprendre les Cosinus et les sinus parce que j'avais des problèmes de compréhension. ![]() Mon problème : [FFMpeg] Installation Notre équipe : C++ (au complet !) SuperTux : Le jeu qui innove ! SFML - Anim : Ma classe C++ pour gérer les sprites SFML animés |
||
Bachir ElMagnifico
|
# Posté le 03/07/2008 à 20:19:04 | ||
http://info-crea.tuxfamily.org![]() Groupe : Membres |
"Mais comment font les développeurs de Paint.NET Et autres ?"
il n'utilise pas focement OpenGl
![]() cherche des partenaires - page de contact. mon tuto sur OgreNewt: partie 1, partie 2, partie 3, partie 4 |
||
Hertzien'
|
# Posté le 03/07/2008 à 20:25:06 | ||
C++, C(encore)++ fort !![]() Groupe : Membres |
Je ne parle pas que de OpenGL mais plutôt de la façon dont ils peuvent lisser les shapes.
Mon problème : [FFMpeg] Installation Notre équipe : C++ (au complet !) SuperTux : Le jeu qui innove ! SFML - Anim : Ma classe C++ pour gérer les sprites SFML animés |
||
SirJulio
|
# Posté le 03/07/2008 à 20:57:27 | ||
|
Groupe : Membres |
Pour la theorie, prends l'article anti-aliasing sur la wiki anglaise et suis les liens, il y a des trucs sympas.
Pour la pratique, SFML te permet deja de specifier un anti crenelage dans la creation de ta fenetre (troisieme parametre de WindowSettings). Refais ton dessin sur une background gris en alternant un AA à 0 et à 8, tu verras la difference. =) |
||
Fvirtman
|
# Posté le 03/07/2008 à 22:51:26 | ||
![]() Groupe : Membres |
Cette réponse a aidé l'auteur du sujet![]() Pour l'algo d'antialiasing, si tu regardes ton dessin en gros, tu vois que pour chaque pixel bien blanc (les pixels que tu as) il y a des a gauche et a droite 3 pixels dégradés. Cela se fait avec des algos simples, qui permettent d'afficher des pixels un par un. je te déconseille opengl pour faire cela. Paint utilise d'une façon générale l'API windows, et la surface dessinée est un tableau de pixels. --- "Toute tâche répétitive est automatisable..." --- Tuto C/C++ basés sur des exemples : http://perso.numericable.fr/~fvirtman/info/tuto/index.html Mes programmes a peu pres finis : http://perso.numericable.fr/~fvirtman/progs/index.html |
||
Hertzien'
|
# Posté le 04/07/2008 à 10:47:10 | ||
C++, C(encore)++ fort !![]() Groupe : Membres |
Oui pour l'algo d'AA ça c'est fait mais il n'est pas complet. Quand on regarde les pixels en gros dans la partie d'en haut, on voit que ça va du gauche à droite. Mais quand on regarde les parties gauches ou droites du cercle, on voit qu'on ne va plus de gauche à droite mais de haut en bas. Donc ce que je voudrais faire, c'est de pouvoir détecter qu'on est dans cette partie et de dessiner les pixels juxtaposés en fonction de leur positionnement.
(Je sens déja que 99,99% des personnes ne vont rien comprendre de moi) Mon problème : [FFMpeg] Installation Notre équipe : C++ (au complet !) SuperTux : Le jeu qui innove ! SFML - Anim : Ma classe C++ pour gérer les sprites SFML animés |
||
Hertzien'
|
# Posté le 05/07/2008 à 14:45:01 | ||
C++, C(encore)++ fort !![]() Groupe : Membres |
Up ! Bon sinon, je vais abandonner l'AA, mais comment pourrais-je optimiser mon code ?
Merci Mon problème : [FFMpeg] Installation Notre équipe : C++ (au complet !) SuperTux : Le jeu qui innove ! SFML - Anim : Ma classe C++ pour gérer les sprites SFML animés |
||
neuneutrinos
|
# Posté le 05/07/2008 à 17:22:46 | ||
![]() Groupe : Membres |
en fait si tu dois placer un point de coordonée 50.6;30
tu arrondis à 50;30 =>pixelisation mais si on represente le pixel de coord 51;30 mais ce pixel sera transparent à 60% le contraste noir blanc est tres fort mais le cercle peux quand meme être lissé. et meme donner un effet non pixelisé ! comment faire pour que mon programme calcule lui-même la transparence du pixel? tu prend le resultat avec les cos et les sin et tu garde la virgule! tu ajoutes le pixel de ton cercle (tronqué) Apres tu fais la difference entre la vrais valeur et la valeur tronqué. (int)(255*difference) =>transparence du pixel pour le lissage
|
||
Hertzien'
|
# Posté le 05/07/2008 à 23:02:38 | ||
C++, C(encore)++ fort !![]() Groupe : Membres |
Désolé mais ça ne change rien :
Voici mon code Code : C++
Édité
le 05/07/2008 à 23:03:06
par Hertzien'
Mon problème : [FFMpeg] Installation Notre équipe : C++ (au complet !) SuperTux : Le jeu qui innove ! SFML - Anim : Ma classe C++ pour gérer les sprites SFML animés |
||
neuneutrinos
|
# Posté le 06/07/2008 à 14:21:17 | ||
![]() Groupe : Membres |
les points pour le lissage apparaisse?
|
||
Hertzien'
|
# Posté le 06/07/2008 à 14:23:44 | ||
C++, C(encore)++ fort !![]() Groupe : Membres |
Ça c'est un autre problème parce que je n'arrive pas à enregistrer l'image avec la touche P : L'image est vide (Il juste la couleur de fond).
Mon problème : [FFMpeg] Installation Notre équipe : C++ (au complet !) SuperTux : Le jeu qui innove ! SFML - Anim : Ma classe C++ pour gérer les sprites SFML animés |
||
Hertzien'
|
# Posté le 07/07/2008 à 17:13:41 | ||
C++, C(encore)++ fort !![]() Groupe : Membres |
Up
Mon problème : [FFMpeg] Installation Notre équipe : C++ (au complet !) SuperTux : Le jeu qui innove ! SFML - Anim : Ma classe C++ pour gérer les sprites SFML animés |
||
Retour au forum "Langage C++" ou à la liste des forums
Vous devez être inscrit pour pouvoir poster des messages
Changer de design |
En savoir plus |
Plan du site |
Politique d'accessibilité |
Règles |
RSS tutoriels |
RSS news
Édité par Simple IT SARL :
Nous contacter
| Notre blog | Revue de presse | Publicité
Y'a plus rien à lire, faut remonter maintenant !
Hébergement web - Correction de tutoriels - Créer un site
Vous souhaitez apparaître ici ? Contactez-nous.
369 Zéros connectés |
9 requêtes |
0.8193s (0.8004s)
