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

DirectX Discussion :

Question de débutant sur la couleur


Sujet :

DirectX

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 68
    Par défaut Question de débutant sur la couleur
    Bonjour,

    J'ai noté dans les tutos qu'il fallait ajouter une donnée couleur pour chaque vertex. Je désire dessiner plusieurs fois le même objet (de couleur uniforme) en ne changeant juste que la couleur. Y a t-il un moyen plus efficace de le faire que de changer la couleur de TOUS les vertex de la forme à chaque fois ?

    De plus, j'ai noté qu'on pouvait optimiser le stockage en mémoire (video ou système) pour améliorer la rapidité d'affichage. Dans ce cas, accéder aux vertex pour changer la couleur me semble particulièrement inefficace ...

    Je viens de l'OpenGL ou une simple instruction glColor permet de changer la couleur courante. Existe t-il qq chose de similaire en DirectX ?

  2. #2
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 540
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 540
    Par défaut
    Citation Envoyé par oliver_mpt Voir le message
    J'ai noté dans les tutos qu'il fallait ajouter une donnée couleur pour chaque vertex. Je désire dessiner plusieurs fois le même objet (de couleur uniforme) en ne changeant juste que la couleur. Y a t-il un moyen plus efficace de le faire que de changer la couleur de TOUS les vertex de la forme à chaque fois ?
    A ma connaissance non.
    Il faut effectivement donner une couleur pour chaque sommet As-tu regardé dans le SDK de Dx ?

  3. #3
    Membre extrêmement actif

    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 408
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 408
    Par défaut
    tu peux très bien ne passer que la géométrie au pipeline et faire un pixel shader auquel tu passeras la couleur que tu veux (enfin quand je dis pixel, je veux dire au shader qui va se chargé de réintroduire la couleur dans le flux du pipeline, ça pourrait être tout aussi bien le vertex, le compute etc...) :

    j'envoie seulement la géométrie à la carte graphique
    je donne la couleur rouge au pixel shader
    je dessine
    je donne la couleur verte
    je dessine
    etc...

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    399
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 399
    Par défaut
    C ca, pour appliquer une couleur par instance de geometrie, il faut passer par un vertex shader qui va se charger d'appliquer la couleur passée au GPU a chaque sommet de ta géométrie (ce sera gratuit en terme de temps d'execution).

    A part ca pour optimiser ton rendu de nombreux objets partageant la même géométrie, tu peux regarder du coté du geometry instancing. Tu as un exemple dans le SDK de directX
    SPARK
    Moteur de particule C++ opensource avec modules de rendu OpenGL, Irrlicht et SFML

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 68
    Par défaut
    Merci pour vos réponses,

    Un vertex shader convient parfaitement pour ce que je voulais faire.

    Olivier

Discussions similaires

  1. question de débutant sur l'import DLL
    Par pdgnr dans le forum C++Builder
    Réponses: 4
    Dernier message: 28/04/2006, 21h26
  2. question de débutant sur les jointures
    Par dreamcocktail dans le forum Langage SQL
    Réponses: 6
    Dernier message: 27/03/2006, 15h24
  3. [MySQL] Question de débutant sur l'optimisation d'un site
    Par digger dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 15/02/2006, 14h29
  4. Question de débutant sur la commande Accept
    Par deaven dans le forum Oracle
    Réponses: 1
    Dernier message: 21/10/2005, 08h25
  5. question de débutant sur les objets
    Par boucher_emilie dans le forum ASP
    Réponses: 3
    Dernier message: 06/08/2004, 10h51

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