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

Développement 2D, 3D et Jeux Discussion :

[Débutant] Construction entrepot 3D


Sujet :

Développement 2D, 3D et Jeux

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2004
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 113
    Points : 38
    Points
    38
    Par défaut [Débutant] Construction entrepot 3D
    Bonjour,

    Voilà j'utilise Visual Studio 2003 avec C# et direct x.
    J'aimerai construire un entrepot en 3D de manière dynamique, à partir d'aucun modèle.
    Exemple : des étagères (mur de cube) construites à partir de chiffres en entrées.
    ex : 2 étagères contenant 3 colonnes et 5 étages.

    Que me conseillez-vous ? (structure 3d)

    Merci d'avance.

  2. #2
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    bonjour,

    je sais pas si on pourrais te donner une réponse comma ça, cela me semble être le départ d'un programme plutôt complexe.

    Pour ma part, je verrai plutôt un langage objet comme C++ ou Java pour résoudre ton problème.
    En effet, tu pourrais créer des classes générique qui te construirai automatiquement tes différents objets en fonction des paramêtres.
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  3. #3
    Membre confirmé
    Avatar de NewbiZ
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2002
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2002
    Messages : 184
    Points : 563
    Points
    563
    Par défaut
    Comme structure 3D, je ferai un truc comme

    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
    23
    24
    25
    26
    27
    28
    29
    30
    struct vertex
    {
       float v[3];
    }
     
    struct face
    {
       vertex* vertice[3];
    }
     
    class CObject
    {
    public:
       CObject() {Create();}
       ~CObject() {Release();}
     
       void Render();
     
       void AddFace(face* face);
       void AddFace(vertex* vertex1, vertex* vertex2, vertex* vertex3);
     
       vertex* AddVertex(float x, float y, float z);
       vertex* AddVertex(vertex* vertex);
    private
       void Create();
       void Release();
     
       vector<face> m_pfaces;
       vector<vertex> m_pvertice;
    }
    Tu stockes une liste de vertex et de face. Une face est constitué de 3 pointeurs vers des vertex.
    AddVertex ajout un vertex dans le vector, et renvoies sont pointeur (ou alors renvoie juste le pointeur si le vertex existe déjà, ca évite les multiplications de vertex identiques).
    Pour rajouter des faces tu as juste à faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    CObject obj;
    obj.AddFace(obj.AddVertex(0, 0, 0), obj.AddVertex(10, 0, 10), obj.AddVertex(10, 10, 10));
    Pour dessiner l'objet tu as juste à parcourir toutes les faces de m_pfaces et récupérer leurs vertex dans m_pvertices puis les dessiner.

    Après ca c'est du C++ en C#, a toi d'adapter :/ C'est une sorte d'indexbuffer en fait :> je ne pense pas que ce soit la meilleure méthode (loin de là), mais surement la plus simple.

    Va voir les tutoriaux de loulou sur Yes::Engine et ses vertex/index buffer, c'est une mine d'informations.

  4. #4
    Nouveau membre du Club
    Inscrit en
    Avril 2004
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 113
    Points : 38
    Points
    38
    Par défaut
    Oh merci bien pour ce bout de code, ça va surement me permettre d'avancer.
    Je vais aller voir les tutos de Loulou ...
    Merci pour ces conseils, c'est vraiment super sympa !!
    Je vous tiens au courant, si j'ai d'autre soucis !!
    ++

  5. #5
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    Bonjour,

    si ca te convient, pense à marquer le sujet "Résolu".
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Construction de date pour comparaison
    Par Katyucha dans le forum Général Python
    Réponses: 8
    Dernier message: 02/04/2014, 13h55
  2. [Débutant]Construction de classe, passage de paramètres
    Par Isildur dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 06/02/2009, 19h43
  3. Réponses: 12
    Dernier message: 19/12/2008, 12h11
  4. [Débutante] Construction de Servlet
    Par mariamti dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 29/01/2008, 15h15
  5. [Débutant] construction d'un cadre
    Par gabest dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 11/02/2006, 11h17

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