Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: afficher un point  (Lu 3668 fois)

0 Membres et 2 Invités sur ce sujet

nyergk

  • Newbie
  • *
  • Messages: 6
    • Voir le profil
afficher un point
« le: Décembre 31, 2012, 04:44:34 am »
bonjour, je debute en programmation, j ai bien compris comment dessiner des polygones, des cercles,etc... avec la SFML, mais comment afficher simplement un point ? merci d avance.

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : afficher un point
« Réponse #1 le: Décembre 31, 2012, 09:07:23 am »
Il y a différentes façons de faire. Quel est ton but exactement, tu veux faire quoi avec ces points ?
Laurent Gomila - SFML developer

nyergk

  • Newbie
  • *
  • Messages: 6
    • Voir le profil
Re : afficher un point
« Réponse #2 le: Décembre 31, 2012, 01:01:57 pm »
ben c est pour programmer une horloge graphiquement, et bon je me demandais l equivalent d une instruction pour afficher des points comme sf::Shape::Line, ou quelquechose d assez simple si possible...

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : afficher un point
« Réponse #3 le: Décembre 31, 2012, 01:17:25 pm »
Quel rapport entre des points et une horloge ? Ce sont des pixels ou bien des gros points que tu veux afficher ?

Ce qui est important ce n'est pas tant que tu fasses une horloge, je voulais surtout savoir comment tu comptes utiliser ces points. Est-ce qu'ils sont statiques ou dynamiques ? Il y en a beaucoup ou peu ? Est-ce que tu en ajoutes au fur et à mesure ? En clair, est-ce que c'est pour dessiner pixel par pixel, ou bien tu as vraiment des points à afficher à l'écran, comme entités à part entière ?

En programmation graphique moderne on affiche des "soupes de polygones", souvent texturées, pour modéliser un monde, 2D ou 3D. C'est pour cela que lorsque quelqu'un demande à dessiner des points, c'est toujours étrange et il vaut mieux en savoir plus avant de donner des indications ;)
Laurent Gomila - SFML developer

nyergk

  • Newbie
  • *
  • Messages: 6
    • Voir le profil
Re : afficher un point
« Réponse #4 le: Janvier 01, 2013, 07:28:34 am »
non, non, c est juste des pixels a afficher tres simplement, pixel par pixel comme putpixel(*Bitmap,x,y,color) par exemple, mais je trouve pas l equivalent sur la SFML (je suis pas très doué non plus...)

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : afficher un point
« Réponse #5 le: Janvier 01, 2013, 10:14:39 am »
Comme je te l'ai dit, le dessin pixel par pixel c'était bon il y a 15 ans, maintenant on ne fait plus ça (sauf pour des trucs très spécifiques).

Du coup tu as deux solutions :
- utiliser un vertex array (sf::VertexArray, ou bien ton propre conteneur de sf::Vertex) dessiné en tant que primitives de type sf::Points
- allouer ton propre tableau de pixels, et l'utiliser pour mettre à jour une texture via sa fonction update lorsque tu changes des pixels ; puis afficher cette texture avec un sprite

La première est ok si tu n'as pas tout l'écran à remplir avec des points, c'est vraiment pour afficher des points comme tu afficherais d'autres entités graphiques à l'écran; sinon (si tu veux remplir une surface complète pixel par pixel) alors choisis plutôt la seconde.
Laurent Gomila - SFML developer

nyergk

  • Newbie
  • *
  • Messages: 6
    • Voir le profil
Re : afficher un point
« Réponse #6 le: Janvier 02, 2013, 04:38:41 am »
ok merci ,je suis vraiment lourd je sais mais bon je code sur la SFML 1.6 et vertex::array ...

ce serait pas possible d avoir un code pour afficher un point car je rame... :'(
« Modifié: Janvier 02, 2013, 05:52:13 am par nyergk »

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : afficher un point
« Réponse #7 le: Janvier 02, 2013, 08:03:34 am »
Ah... ben du coup avec 1.6 tu n'as que la second option à ta disposition.
Laurent Gomila - SFML developer

nyergk

  • Newbie
  • *
  • Messages: 6
    • Voir le profil
Re : afficher un point
« Réponse #8 le: Janvier 02, 2013, 01:30:06 pm »
ok merci, c est vrai que avec les sprites c est simple quand meme, une autre question que je me posais, sur Allegro l affichage allait beaucoup plus vite quand on dessinait d abord l image sur une Bitmap, et qu on l envoyait ensuite a l ecran avec Blit(), car putpixel() etait lent en affichage direct, et je me demandais s il etait preferable de dessiner ses formes avec Shape d abord sur une sf::Image puis ensuite les afficher avec sprite, ou bien s il n y avait pas de difference niveau vitesse de execution ? je pense pas mais bon...

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : afficher un point
« Réponse #9 le: Janvier 02, 2013, 01:32:19 pm »
Il n'y a aucune différence.

N'essaye pas d'aborder SFML en te référant à des APIs graphiques préhistoriques du genre Allegro ou SDL 1.2, ça fait une bonne quinzaine d'années que le rendu graphique ne fonctionne plus avec des bitmaps, des pixels et des blits ;)

Essaye plutôt de repartir à zéro, sans a priori ; fais un hard reset de ton cerveau :P
« Modifié: Janvier 02, 2013, 01:34:01 pm par Laurent »
Laurent Gomila - SFML developer

nyergk

  • Newbie
  • *
  • Messages: 6
    • Voir le profil
Re : afficher un point
« Réponse #10 le: Janvier 02, 2013, 04:56:05 pm »
OK, merci.  :)

 

anything