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 :

OpenGL - Afficher une image sur un quad


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 33
    Par défaut OpenGL - Afficher une image sur un quad
    Bonjour,

    Je réalise dans le cadre d'un projet scolaire un jeu (style FPS)...
    Depuis plusieurs jours déjà, je cherche à faire apparaitre des impacts sur un mur... En fait, le joueur tire des projectiles (du genre boules de peinture). J'ai déjà réalisé le tire de projectile... Seulement je voudrais désormais que lorsque ce dernier touche un mur, une tache de peinture y soit affichée.. J'ai pour ce faire dessiné une tache avec une couleur de fond (vert) qui me servirait de transparence...
    Je ne sais pas trop comment ça peut se faire.
    Si vous connaissez des tutos, codes, ou autres... Je suis preneur.
    Merci d'avance.

  2. #2
    Membre Expert
    Avatar de shenron666
    Homme Profil pro
    avancé
    Inscrit en
    Avril 2005
    Messages
    2 579
    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 579
    Par défaut
    tu as le choix entre l'incontournable, l'inimitable, l'inmanquable en français siouplé
    http://jeux.developpez.com/faq/openg...S_transparence

    ou le tuto 32 de nehe en anglais
    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
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 33
    Par défaut
    Merci beaucoup !! Je regarde ça

  4. #4
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 33
    Par défaut
    Merci, ça marche nikel ! Mais je me demandais comment faire pour pouvoir coller mon impact (ma tâche) sur le mur sans pour autant qu'il y ai de soucis avec le mur... Style les textures qui clignotent ! J'ai un quad transparent (ma tache) que je place sur un autre (mon mur) en gros. Pour l'instant je feinte en affichant mon impact à quelques pixels du mur. ça marche très bien comme ça et au pire je laisserai ainsi.
    Merci bcp ! Génial ce forum

  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 : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Au moment d'afficher tes tâches, tu changes légèrement la matrice de projection : tu diminues l'élément (3, 3) (le [10] si tu as un tableau de float) d'un pouillème (* 0.999f par exemple). Ca aura comme effet de décaler la tâche de suffisamment pour éviter le Z-fighting, mais pas assez pour que ça se voie. Et en plus, le décalage sera toujours dans la direction de la vue, puisqu'effectué en espace caméra.
    C'est pas parfait, mais c'est beaucoup mieux que ta solution, et mieux que le Z-Bias.

  6. #6
    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
    Citation Envoyé par Laurent Gomila
    Au moment d'afficher tes tâches, tu changes légèrement la matrice de projection : tu diminues l'élément (3, 3) (le [10] si tu as un tableau de float) d'un pouillème (* 0.999f par exemple). Ca aura comme effet de décaler la tâche de suffisamment pour éviter le Z-fighting, mais pas assez pour que ça se voie. Et en plus, le décalage sera toujours dans la direction de la vue, puisqu'effectué en espace caméra.
    C'est pas parfait, mais c'est beaucoup mieux que ta solution, et mieux que le Z-Bias.
    c'est un poil goret quand même comme technique non... mais elle me fait bien rire
    en fait, on doit pouvoir obtenir le même resultat en utilisant une petite compression de frustum (un appel à glFrustum avec un farPlane plus eloigné que le précédent) comme ca, l'espace de mapping des coordonnée de profondeur sera plus etendu et donc to fragment sera plus "proche" lors du rendu... et la au moins c'est presque classe comme méthode (carmack inside encore une fois)
    * 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

  7. #7
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 33
    Par défaut
    Je débute un peu... Je n'ai pas tout compris...
    Citation Envoyé par Laurent Gomila
    Au moment d'afficher tes tâches, tu changes légèrement la matrice de projection : tu diminues l'élément (3, 3) (le [10] si tu as un tableau de float) d'un pouillème (* 0.999f par exemple).
    Comment je fais pour changer ma matrice de projection ?

    Citation Envoyé par bafman
    en fait, on doit pouvoir obtenir le même resultat en utilisant une petite compression de frustum (un appel à glFrustum avec un farPlane plus eloigné que le précédent) comme ca, l'espace de mapping des coordonnée de profondeur sera plus etendu et donc to fragment sera plus "proche" lors du rendu...
    Pour glFrustum à quel moment je dois faire l'appel ? C'est dans le style glPerspective en fait ?

    Merci pour toutes vos réponses

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. comment afficher une image sur un cadre
    Par pakita dans le forum JBuilder
    Réponses: 3
    Dernier message: 30/04/2007, 15h11
  2. Afficher une image sur un écran 3D.
    Par pan99 dans le forum 3D
    Réponses: 1
    Dernier message: 16/04/2007, 13h48
  3. Afficher une image sur clic d'un bouton
    Par thibane dans le forum GTK+ avec C & C++
    Réponses: 16
    Dernier message: 21/02/2007, 10h09
  4. [débutant]Afficher une image sur une JFrame
    Par mavina dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 09/08/2006, 16h25
  5. afficher une image sur toute la fenêtre
    Par argon dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 18/02/2006, 09h44

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