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

Auteur Sujet: VertexArray et RenderTexture ???  (Lu 3587 fois)

0 Membres et 1 Invité sur ce sujet

Orwel

  • Full Member
  • ***
  • Messages: 208
    • Voir le profil
VertexArray et RenderTexture ???
« le: Mai 24, 2012, 02:43:26 pm »
Bonjour,

j’entends souvent que les VertexArray permettent de meilleurs performances, mais surtout de mieux concevoir sont application.

Un VertexArray n'est jamais qu'un tableau de point. Ces points peuvent en fonction de la primitive représentaient un pixel.

RenderTexture est un tableau de pixel. On peut dessiner dessus notre Background où tous autres éléments composées de plusieurs texture fixe. De plus cette classe héritant de Render a des méthodes pour l'utiliser simplement.

Ma question est qu'elle est l’intérêt de VertexArray???
A quoi sert la primitive???
(Je sais que c'est pas bien, je n'ai pas encore effectuer avant de poser cette question mais je suis vraiment dans le floue)

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : VertexArray et RenderTexture ???
« Réponse #1 le: Mai 24, 2012, 03:33:30 pm »
Ce sont deux utilisations très différentes.

VertexArray permet d'aggréger une géometrie perso en une seule entité dessinable. Ca fait gagner considérablement en performances, par rapport au cas d'utilisation typique où on dessine X * Y sprites, car il n'y a qu'un seul appel OpenGL pour tout dessiner.
Sprite, Text et Shape ne sont que des applications concrètes de VertexArray ; le but est ensuite que les gens créent leurs propres entités optimisées (par exemple, un système de particules ou bien un tilemap).

RenderTexture permet de faire du dessin sur quelque chose de réutilisable ultérieurement, c'est donc utilisé par exemple pour faire des post-effects, ou bien pour précalculer des images statiques composées.
Laurent Gomila - SFML developer

Orwel

  • Full Member
  • ***
  • Messages: 208
    • Voir le profil
Re : VertexArray et RenderTexture ???
« Réponse #2 le: Mai 24, 2012, 06:15:19 pm »
Citer
Ce sont deux utilisations très différentes.
Justement, je ne vois pas différence pour l'utilisation. La seule différence que je remarque avec RenderTexture est la création de l'objet et la manière de la dessiner. RenderTexture nécessite un autre objet(Sprite...).

Citer
VertexArray permet d'aggréger une géometrie perso en une seule entité dessinable. Ca fait gagner considérablement en performances, par rapport au cas d'utilisation typique où on dessine X * Y sprites, car il n'y a qu'un seul appel OpenGL pour tout dessiner.
Comme pour un RenderTexture. Je vois quand même une utilisation avantageuse pour les dessins vectoriels.

Par exemple, si j'ai un personnage découper dans une texture, je peux le reconstituer dans un VertexArray depuis une texture(ou image).

Citer
VertexArray permet d'aggréger une géométrie perso en une seule entité dessinable.
Je pense que je vais attendre les tutoriels. J'ai fais plusieurs test et c'est plutôt amusant mais je ne vois pas comment dessiner une texture par exemple. Un indice...ou j'irai voir la classe Sprite.

Citer
RenderTexture permet de faire du dessin sur quelque chose de réutilisable ultérieurement, c'est donc utilisé par exemple pour faire des post-effects, ou bien pour précalculer des images statiques composées.
Pré-calculer des images statistiques n'est pas l'utilisation énoncé plus haut dans ton message. Si ce n'est pas le cas, c'est à ce niveau que se porte ma confusion.


Où est charger le VertexArray, mémoire ou carte vidéo???

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : VertexArray et RenderTexture ???
« Réponse #3 le: Mai 24, 2012, 07:16:46 pm »
VertexArray a une approche géometrique, tu as une bouillie de points.
RenderTexture a une approche par image, tu as une bouillie de pixels.
Je te laisse tirer les conclusions que tu trouveras de ces deux points ;)

Après si tu ne vois pas forcément la différence ni lequel utiliser, alors c'est probablement qu'il faut que tu joues un peu avec. Ca ne sert parfois à rien de déballer des tonnes d'explications obscures :)

Citer
Où est charger le VertexArray, mémoire ou carte vidéo???
Mémoire centrale, et transféré sur le GPU au moment du dessin (mais pas de manière permanente).
Laurent Gomila - SFML developer

Orwel

  • Full Member
  • ***
  • Messages: 208
    • Voir le profil
Re : VertexArray et RenderTexture ???
« Réponse #4 le: Mai 24, 2012, 08:19:35 pm »
Citer
VertexArray a une approche géométrique, tu as une bouillie de points.
RenderTexture a une approche par image, tu as une bouillie de pixels.
Je te laisse tirer les conclusions que tu trouveras de ces deux points

Juste parfait l'explication  ;D

Citer
Mémoire centrale, et transféré sur le GPU au moment du dessin (mais pas de manière permanente).
Donc je perds mon temps à vouloir afficher une texture avec VertexArray, faut je passe par une image.

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : VertexArray et RenderTexture ???
« Réponse #5 le: Mai 24, 2012, 08:35:08 pm »
Citer
afficher une texture avec VertexArray
J'avoue que je ne comprends pas ce que tu veux faire là. Tu peux détailler un peu ?
Laurent Gomila - SFML developer

Orwel

  • Full Member
  • ***
  • Messages: 208
    • Voir le profil
Re : VertexArray et RenderTexture ???
« Réponse #6 le: Mai 24, 2012, 08:41:50 pm »
Je voulais faire une fonction qui remplie un VectexArray depuis une Texture. Je pensais parcourir le tableau de pixel pour remplir le VectexArray  ;)

Mais vu que le VectexArray est stocké au niveau de la mémoire centrale, et la Texture sur la carte vidéo, ce n'est pas possible. Je pense qu'il faut passé par l’intermédiaire d'une image.

Bien sur, il n'a pas de réel intérêt, c'était juste pour effectuer des tests.

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : VertexArray et RenderTexture ???
« Réponse #7 le: Mai 24, 2012, 10:17:58 pm »
En effet ça n'a vraiment aucun intérêt ;D
Laurent Gomila - SFML developer