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 :

Reflections


Sujet :

DirectX

  1. #1
    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 Reflections
    Bonjour bonjour

    J'ai un petit problème pour refleter mon environnement, dans mon moteur 3D. J'effectue le rendu de la scène "la tête en bas" dans une texture, mais ensuite pour générer les bonnes coordonnées de texture je coince. Faut-il transformer la position par la matrice caméra, ou par la matrice caméra-projection ? Faut-il ensuite diviser les coordonnées x et y par z, ou par w ?
    J'utilise Dx9, et je n'utilise pas D3DTCI_CAMERAREFLECTIONMACHIN car je fais tout ça dans un vertex shader.

    Merci

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 22
    Points : 26
    Points
    26
    Par défaut
    Si j'ai bien compris tu veux faire une reflection plane.
    Mais pourquoi tu rends dans une texture ?

    Si mes souvenirs sont bon la méthode généralement utilisée pour ce genre de chose c'est:

    -Vider le stencil buffer
    -Desactiver l'écriture dans le stencil
    -Rendre la scene
    -Activer l'écriture dans le stencil buffer
    -Desactivé l'écriture dans le Z-buffer (sinon tu auras rien en dessous du plan)
    -Rendre le plan
    -Réactiver l'écriture dans le Z-buffer
    -Desactiver l'ecriture et activer la lecture pour le stencil buffer
    -Rendre la scène dans l'autre sens en faisant un test sur la valeur du stencil buffer.

    Voila,
    Bonne chance.

  3. #3
    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
    Wi en fait pour ce qui est du rendu de la reflection c'est bon... C'est ensuite pour projeter la texture sur le quad qui fait office de plan de reflexion que j'ai un probleme.
    La raison pour laquelle j'utilise une texture, c'est que je veux ajouter des distortions par la suite, pour avoir une eau plus réaliste.

  4. #4
    Membre expérimenté

    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
    Points : 1 679
    Points
    1 679
    Par défaut
    Normalement pour une surface quasi plane tu ne t'embetes pas trop.
    Tu rends le decor inverse dans une texture qui couvre a peu pres l'ecran.
    Les coordonnees de la texture decoulent des coordonnees ecran de ton vertex (ramene a [[0,1][0,1]]..

    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

  5. #5
    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 en fait c'est ce que j'avais initialement essayé. On m'a aidé a trouver d'où venait le problème sur Flipcode : en fait les vertices hors écran sont "mal" projetés, d'où un résultat distordu. La solution consisite à subdiviser le quad d'eau suffisamment pour que les vertices soient bien à l'écran.
    Merci quand même

Discussions similaires

  1. [Reflection] Instancier un objet
    Par bl@st dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 28/10/2008, 11h09
  2. [Reflection] Probleme d'appel newInstance()
    Par SEMPERE Benjamin dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 17/06/2004, 13h15
  3. [Reflection] Exécuter une méthode donnée d'une classe
    Par schousso dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 03/06/2004, 10h35
  4. [Reflection]Probleme d'InstantiationException
    Par guipom dans le forum API standards et tierces
    Réponses: 6
    Dernier message: 23/05/2004, 23h28
  5. [Reflection][Bean] Appel d'une méthode dynamiquement
    Par eraim dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 28/04/2004, 11h07

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