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 :

Hardware et shader3.0


Sujet :

DirectX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 132
    Par défaut [résolu] Hardware et shader3.0
    Salut,

    je développe un shader tout bête, en SM3.0:
    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
    31
    32
    33
    struct PS_Input {
        float2 Tex : TEXCOORD0;
        float2 ProjPos    : VPOS;
    };
     
     
    float4 PostProcessPSTVization( PS_Input InputParam ) : COLOR0
    {
        float4 Color;
     
        Color = tex2D( g_samSrcColor, InputParam.Tex.xy);    
        float IsPair = fmod(InputParam.ProjPos.y,2);
     
        Color.r = Color.r * IsPair;
        Color.g = Color.g * IsPair;
        Color.b = Color.b * IsPair;
     
        return Color;
    }
     
     
    //-------------------------------------
    // Technique: PostProcessTVization
     
    technique PostProcessTVization
    {
        pass p0
        {
            VertexShader = null;
            PixelShader = compile ps_3_0 PostProcessPSTVization();
            ZEnable = false;
        }
    }
    Je tente de faire tourner ça sous FXComposer, et j'ai une erreur comme quoi ce serait pas supporté par mon hardware, pourtant une 6600GT, qui supporte VS3.0 et PS3.0 ...

    Je comprends pas trop le problème, ça parle à quelqu'un ?

    Eventuellement, si quelqu'un a un trick pour connaître la position du pixel projeté par le pixelshader sans utiliser les shader3.0 ...

  2. #2
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 132
    Par défaut
    Je rajoute l'erreur que j'ai sous fx composer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    HLSL_PostProcesses.fx: Failed to validate technique: PostProcessTVization; Invalid call 
    * Check that the hardware supports the Vertex Shader & Pixel Shader profile you are using. 
    * Device max profiles: vs_3_0, ps_3_0 
    * If ps_3_0 pixel shader, make sure you have vs_3_0 too. 
    Technique: PostProcessTVization Failed to validate on this hardware
    On voit bien le souci du max profile qui semblerait normalement convenir au ps3.0 ...

  3. #3
    Expert confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Billets dans le blog
    3
    Par défaut
    g_samSrcColor est défini ou ?

  4. #4
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 132
    Par défaut
    Un peu plus haut, mais ce n'est pas ça qui pose problème.
    Ce bout de code est une dérivation de code déjà existant (et validé plusieurs fois), et le problème est bien cadré.

    il semblerait cependant que l'accès à VPOS soit en fait conditionné par la présence d'un vertexshader.

  5. #5
    Membre Expert

    Profil pro
    Programmeur
    Inscrit en
    Août 2002
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Programmeur

    Informations forums :
    Inscription : Août 2002
    Messages : 1 091
    Par défaut
    Rien à voir avec VPOS mais plutot au fait que tu utilises le fixed function pipeline (vertex shader = null) avec un ps 3.0.

    Les seules combinaisons valides sont :
    - vs3.0 couplé à ps3.0
    - ps3.0 en mode passthrough (tes vertices sont déjà transformés et l'un des streams de vertex contient l'élément POSITIONT_0 (transformed position 0) ce qui force le mode passthrough).

    LeGreg

    Mon site web | Mon blog | Mes photos | Groupe USA
    > BONJOUR, JE SUIS NOUVEAU SUR CE FORUM
    > presse la touche caps lock, stp
    > OH.. MERCI C EST BEAUCOUP PLUS FACILE COMME CA

  6. #6
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 132
    Par défaut
    Citation Envoyé par LeGreg Voir le message
    ps3.0 en mode passthrough (tes vertices sont déjà transformés et l'un des streams de vertex contient l'élément POSITIONT_0 (transformed position 0) ce qui force le mode passthrough).
    Tu pourrais m'en dire plus sur ce POSITIONT_0 s'il te plait ?
    je trouve de la doc (un peu) sur POSITIONT0 ... mais c'est pas très clair tout ça.

    J'ai besoin de VPOS et de l'absence de vertexshader.
    Ce mode peut-il me convenir ?

Discussions similaires

  1. [Hardware portable] Comment entrer un code Ascii?
    Par l.sage dans le forum Ordinateurs
    Réponses: 13
    Dernier message: 11/08/2005, 13h04
  2. [HARDWARE] Copier en brut le contenu d'un CD-ROM
    Par grafikm_fr dans le forum Périphériques
    Réponses: 8
    Dernier message: 02/12/2003, 15h35
  3. [Hardware] Peut on desactiver le clavier?
    Par ZoumZoumMan dans le forum C++Builder
    Réponses: 12
    Dernier message: 30/11/2003, 22h10
  4. Hardware et Software VertexProcessing
    Par CladStrife dans le forum DirectX
    Réponses: 18
    Dernier message: 14/10/2003, 15h16
  5. Port Parallèle EPP ou ECP, hardware vs software ?
    Par TONIAPEL dans le forum Assembleur
    Réponses: 3
    Dernier message: 21/08/2003, 01h39

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