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

OpenGL Discussion :

Shader sur ATI


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Octobre 2004
    Messages
    616
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 616
    Par défaut Shader sur ATI
    Bonjour à tous.

    J'ai réaliser dans le cadre de mon école un petit projet, utilisant les shaders et je me rend compte qu'il ne tourne pas sur les PC disposant d'une ATI. (avec des nvidia, aucun problème).
    Après l'intégration des morceaux de code de tout les menbre, il m'est difficile de traquer précisément le problème, mais il se passe ceci :

    Les textures de mon objets 3D ne s'affiche plus et la height-map réalisée shader à partir de vertex-displacement s'affiche plate et non texturé à priori.

    Le programme est relativement simple et n'utilise à priori rien de propre à nvidia (pas de geometry shader par exemple). Nous n'en somme qu'a 3 unité de texture ( ce qui sur une ati 4870 devrait être suffisant).

    On m'a répondu sur un forum que les drivers opengl d'ati était buggé de partout. Est-ce vrai ? Comment remédier à cela? J'aimerai vraiment pouvoir coder mes shaders avec ma carte graphique ... et faire fonctionner ma démo.
    Dois-je changer de driver? ( j'ai les plus récent du site officiel) . y-a-il des choses a éviter dans mes shaders?

    Help

  2. #2
    Membre Expert
    Avatar de shenron666
    Homme Profil pro
    avancé
    Inscrit en
    Avril 2005
    Messages
    2 578
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : avancé

    Informations forums :
    Inscription : Avril 2005
    Messages : 2 578
    Par défaut
    Citation Envoyé par Clad3 Voir le message
    On m'a répondu sur un forum que les drivers opengl d'ati était buggé de partout. Est-ce vrai ? Comment remédier à cela?
    oui d'ailleurs aucun jeu ne fonctionne avec opengl sur les ATI
    plus sérieusement, aujourd'hui, que ce soit ATI ou nVidia, les drivers ont autant de problèmes
    ce genre de réponse vu la carte que tu possèdes c'est juste la réponse facile à un problème qui les dépasse

    sur le site ati tu peux récupérer un outils qui s'appelle rendermonkey
    il pourrait te permettre de tester facilement des shaders
    essaies de voir si certaines opérations ne seraient pas appréciées par le driver
    à voir si tu n'aurais pas quelque chose d'activé ou non alors qu'il faudrait qu'il faudrait l'inverse
    bref, il faut tester des shaders simplifiés et les complexifier au fur et à mesure pour déterminer ce qui cause le problème

    puisque ton driver est à jour, essaies une version précédente du driver

    au final, les shaders c'est quand ême bien galère à débugger

    tiens puisque ça me revient à l'esprit, tes shaders sont en GLSL ?
    auquel cas, un outil du nom de "3DLabs GLSL Validate" pourrait t'indiquer des non conformités dans ton code

    un bon site aussi : http://3dshaders.com/
    (cherches-y "validate" pour l'outil)
    Tutoriels OpenGL
    Je ne répondrai à aucune question en MP
    - Si c'est simple tu dis que c'est compliqué et tu le fait
    - Si c'est compliqué tu dis que c'est simple et tu le sous-traite ou le fait faire par un stagiaire.

  3. #3
    Rédacteur
    Avatar de bafman
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    2 574
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2 574
    Par défaut
    tu fait du vertex displacement en allant lire les info de de la texture ? si c'est ça, effectivement, les ATI ne le supportent pas.

    en fait, c'est une feature requise pour pouvoir annoncer une carte comme supportant le shader model 3, mais ATI a profité d'une faille dans le système pour sortir des carte ne le supportant pas.

    Dans les spec, une carte supportant le SM3 doit supporter le vertex texture read, mais la spec ne dit pas qu'elle doit le supporté pour au moins 1 mode d'interpolation de texture, du coup, les cartes ATI on pu passer le test, sans pour autant supporter réellement la feature... en tout cas, c'etait le cas il y a quelques temps, je ne sais pas ou ça en est pour les 4800.
    * Il est infiniment plus simple de faire rapidement un code qui marche que de faire un code rapide qui marche
    * pour faciliter les recherches, n'oubliez pas de voter pour les réponses pertinentes
    Mes articles

  4. #4
    Membre éclairé
    Inscrit en
    Octobre 2004
    Messages
    616
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 616
    Par défaut
    Merci pour vos informations.

    J'ai télécharger le GLSL validate tool. Et j'ai effectivement trouvé quelques erreurs dans les shaders de mes camarades. Rien de méchant, mais une fois corrigé, le problème est différent.

    Ma height-map s'affiche, texturée mais les hauteurs des sommets ne sont plus bonne.Le parallax-mapping ne marche plus. Sur toute ma scène l'éclaire ne semble plus fonctionner.

    Je vais découper mes shaders en petites partie et voir ce qui ne va pas.

    Demain je test rendermonkey en epsérant trouvez la cause de tout cela

    EDIT : Concernant l'éclairage, sur notre train 3D, on a des différences entre nvidia et ati .
    Sur nvidia, les ombres sont plus faibles et fourmillent moins. Chez ati, les ombre ont plus de portée mais fourmillent / pixellisent plus. [notre ShadowMap est de 4096*4096 et notre algorithme n'est pas optimisé du tout car les calculs sont fait depuis une lumière très lointainte mais j'aimerai obtenir des résultats identiques sous les 2 cartes !

Discussions similaires

  1. [Carte graphique] CrossFire sur ATI RADEON HD 4870 VAPOR X
    Par zooffy dans le forum Composants
    Réponses: 0
    Dernier message: 15/10/2010, 09h18
  2. Pb sur nVidia et non sur ATI
    Par themadmax dans le forum DirectX
    Réponses: 4
    Dernier message: 14/06/2010, 11h00
  3. RenderMonkey : la création de shaders par ATI
    Par raptor70 dans le forum Développement 2D, 3D et Jeux
    Réponses: 11
    Dernier message: 29/05/2009, 11h35
  4. Résolution sur ATI Radeon 4870
    Par Shixz dans le forum Composants
    Réponses: 2
    Dernier message: 28/08/2008, 23h26
  5. Appliquer un shader sur le rendu final
    Par Lockscash dans le forum DirectX
    Réponses: 10
    Dernier message: 19/06/2007, 17h05

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