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 :

utilisation judicieuse des vertex/pixel shader....


Sujet :

DirectX

  1. #1
    Nouveau membre du Club
    Inscrit en
    Novembre 2003
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 74
    Points : 31
    Points
    31
    Par défaut utilisation judicieuse des vertex/pixel shader....
    Bonjour tout le monde,

    voilà, après avoir passé de longues heures à comprendre comment mettre en place des shaders grâce au HLSL de dx9 je me pose une ou deux questions en terme de performances :

    Est-il plus intéressant au niveau des perfs de passer au "tout shader" ?
    Si on prend l'exemple du rendu "simple" des textures, vaut-il mieux coder un shader qui se charge de l'affichage ou est-il préférable de se servir de la bonne vieille méthode du SetSamplerState ?

    De même pour la gestion des lumière... Est-il intéressant de coder un shader qui simule de la lumière ou vaut-il mieux utiliser D3DXLight ?

    ( J'imagine que la réponse peut dépendre du contexte d'utilisation... )

    Enfin bref, QUAND FAUT IL UTILISER LES SHADERS ????

    ( Etant entrain d'implémenter tout ceci dans un nouveau moteur, je ne sais pas trop quoi penser de tou ça et je préfèrerai partir dans la bonne direction )

    thx.

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Oui, ça dépend...

    L'idéal étant d'avoir un code path en shaders et l'équivalent avec le FFP, comme ça tout le monde est d'accord et tu peux même comparer à volonté.

    Sinon, il faut voir le genre d'appli que tu vises, quelle config, etc...

    Mais il est clair que dans pas si longtemps (Dx10 et les prochains GPU ?) le FFP disparaîtra complétement et tout se fera à base de shaders.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Novembre 2003
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 74
    Points : 31
    Points
    31
    Par défaut
    Ok, merci pour les précisions.
    Je n'ai plus qu'à me remettre aux shaders !!!!

    Mais ceci est-il vrai pour la gestion des lumières ?

  4. #4
    Nouveau membre du Club
    Inscrit en
    Novembre 2003
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 74
    Points : 31
    Points
    31
    Par défaut
    C'est encore moi et mes questions de choix difficiles...

    Quelqu'un peut-il me donner les avantages et inconvénients de l'utilisation de ShadowVolume ou de ShadowMap ?

    Au niveau des perfs je pense que les ShadowMap sont plus intéressantes, mais le Shader que j'utilise me semble un peu complexe...
    A l'inverse, est-il couteux d'utiliser le stencil buffer dans le cas des ShadowVolume ?

    J'attends vos réponses avec impatience...

  5. #5
    Membre averti Avatar de Bob.Killer
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    336
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 336
    Points : 332
    Points
    332
    Par défaut
    Yo !

    J'ai l'impression que tu as répondu juste au dessous de ta question

    utilisation des shadows volumes ça bouffe en perf, faut savoir utiliser le LOD.
    les shadows map c'est bien et pi si compliqué en fait penche toi sur le code tu verras mais y a des inconvénients, car la texture génèré dépend déjà de sa taille mais aussi de la distance de l'objet à la lumière...

    Pensez aux tutoriels programmation : http://programmation.developpez.com/cours-tutoriels/

  6. #6
    Nouveau membre du Club
    Inscrit en
    Novembre 2003
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 74
    Points : 31
    Points
    31
    Par défaut
    Yep !

    Merci pour les précisions.
    C'est effectivement impressionnant ce que ça bouffe comme ressources les ShadowVolume ( même avec utilisation du LOD ) !!!
    Après 3 heures de boulot dessus, je crois que je vais passer aux ShadowMap

  7. #7
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Attention avec les shadow volumes, effectivement ça bouffe un max de fillrate (et de CPU si tu n'utilise pas les shaders), mais il existe tout un tas d'optimisations qui permettent de les rendre performants pour des scènes complexes.

    D'ailleurs je crois que je vais écrire un tuto à ce sujet, y aurait beaucoup à dire.

  8. #8
    Nouveau membre du Club
    Inscrit en
    Novembre 2003
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 74
    Points : 31
    Points
    31
    Par défaut
    On avance, on avance....

    J'ai implémenté les shadowmap en me basant sur l'exemple du sdk, mais je ne suis toujours pas satisfait du résultat : mon framerate en prend un coup et les ombres produites ne sont pas très "propres" ( même en augmentant la taille de la shadowmap )

    Quelqu'un aurait-il un exemple ou des idées pour optimiser le code "de base" du sdk ?
    Parceque moi je ne suis pas assez au point pour y apporter de bonnes modif'

    thx

  9. #9
    Nouveau membre du Club
    Inscrit en
    Novembre 2003
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 74
    Points : 31
    Points
    31
    Par défaut
    Hop je me répond partiellement....

    En modifiant les paramètres de ma matrice de projection des ombres, cad en diminuant le FOV, on obtient une ombre bien plus précise ( logique.... )

    En tout cas au niveau des perfs c'est toujours laborieux...

Discussions similaires

  1. Tutorial sur l'utilisation des Pixel Shaders SL3 en ligne
    Par davrous dans le forum Silverlight
    Réponses: 8
    Dernier message: 10/08/2009, 10h31
  2. Réponses: 5
    Dernier message: 10/07/2009, 09h30
  3. "Programming Vertex, Geometry and Pixel Shaders" gratuitement
    Par Bakura dans le forum Développement 2D, 3D et Jeux
    Réponses: 6
    Dernier message: 04/01/2009, 15h26
  4. Réponses: 6
    Dernier message: 02/09/2006, 01h23
  5. Vertex et Pixel Shader
    Par Riko dans le forum OpenGL
    Réponses: 2
    Dernier message: 06/06/2003, 16h45

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