IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

transférer un vector de vertex


Sujet :

C++

  1. #1
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2014
    Messages : 521
    Par défaut transférer un vector de vertex
    Bonjour.

    Je cherche a transférer des sf::Vertex, mais sans succes.

    Savez vous comment on peut procéder proprement, dans ce cas la?

    Voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
     
    void ObjetQuiContienLesVertexOriginaux::creeVertex()
    {
     
        vertexCercle[0] = sf::Vector2f( x , y);
        vertexCercle[0] = sf::Vector2f( x2 , y2);
        etc...
    }
     
    void  ObjetQuiContienLesVertexOriginaux::renvoiVertex()
    {
     
         m_objetQuiRecoitLesVertex.recoitVertex(vertexCercle[0]);
     
    }
    Objet qui recoit les vertex:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
     
    class ObjetQuiRecoitLesVertex
    {
    public:
     
        void ObjetQuiRecoitLesVertex:: recoitVertex(sf::Vertex vertex)
        {
            m_vertex[0] = vertex;
        }
     
     
    private:
     
        virtual void draw(sf::RenderTarget& cible, sf::RenderStates states) const
        {
     
             cible.draw(&m_vertex[0], m_vertex.size(), sf::Triangles, m_texture);
        }
     
        vector<sf::Vertex>  m_vertex;
        const sf::Texture *m_texture;
    si je "push_back" chaque vertex dans mon vector a l'aide d'une boucle, cela fonctionne sans problème...mais c'est peut pratique.
    Si je transfert par copie directement le vector<sf::Vertex> , ca rame énormément ou plante.

    Merci si vous pouvez m'aider

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 142
    Billets dans le blog
    150
    Par défaut
    Bonjour,

    Lorsque je vois void ObjetQuiRecoitLesVertex:: recoitVertex(sf::Vertex vertex), je me dis ça ne peut que ramer (surtout si la fonction est énormément appelée). En effet, vous faites une copie superflue. Il faut mieux, pour éviter cette copie, d'utiliser const sf::Vertex& (soit, une référence constante).

    Quel est le but du code que vous nous montrez ?

    Êtes vous sur que votre crash est lié à cette histoire de vertex ?
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

Discussions similaires

  1. vertex array et std::vector marche pas, help!
    Par filoo dans le forum OpenGL
    Réponses: 14
    Dernier message: 07/07/2007, 13h00
  2. question sur les vertex buffer et index buffer
    Par airseb dans le forum DirectX
    Réponses: 9
    Dernier message: 25/08/2003, 02h38
  3. Réponses: 2
    Dernier message: 11/07/2003, 18h24
  4. Vertex et Pixel Shader
    Par Riko dans le forum OpenGL
    Réponses: 2
    Dernier message: 06/06/2003, 16h45
  5. vertex vertices
    Par gRRosminet dans le forum OpenGL
    Réponses: 2
    Dernier message: 05/11/2002, 03h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo