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 :

Projective Texture questions


Sujet :

OpenGL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 37
    Points : 11
    Points
    11
    Par défaut Projective Texture questions
    Salut !
    Voilà plusieurs jours que je grapillent des info sur la projection de textures, sur divers forum ou tuto. Mais je n'ai pas vraiment compris la méthode exacte...

    Je sais qu'il faut récupérer la matrice de texture, faire le rendu en plusieurs passes (dans quel ordre ?), mais je n'ai pas compris à quoi servait la matrice "bias", ni comment effectuer les divers rendu... Tout ça dans le but de juste projeter une petite texture sur mon terrain 3D :p

    Quelqu'un pourrait-il m'expliquer étape par étape la méthode de projection de texture ?

    Merci d'avance !

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 395
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 395
    Points : 5 010
    Points
    5 010
    Par défaut
    commençons par le commencement : qu'est ce que tu veux faire en fait?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 37
    Points : 11
    Points
    11
    Par défaut
    Désolé de la réponse tardive ^^"

    En fait, je n'ai pas envie d'aller jusqu'au shadow map, j'ai un système de toon shading qui fonctionne bien, et je veux juste rajouter une ombre au perso, en projettant une texture ronde, noir et semi-transparente sous ses pieds ^^"

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 37
    Points : 11
    Points
    11
    Par défaut
    Personne ne pourrait m'aider alors ?

  5. #5
    Expert confirmé

    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 395
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 395
    Points : 5 010
    Points
    5 010
    Par défaut
    http://jeux.developpez.com/faq/3d/?p...ION_shadowmaps

    je n'ai pas eu le temps de lire ces pages, mais vu qu'elles sont dans la faq, ça devrait être pas mal

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 37
    Points : 11
    Points
    11
    Par défaut
    Merci de ta réponse.

    Le problème c'est que ceci traite des shadow map. Ces shadow map traitent toute une scène, il n'y a pas de moyen (à ma connaissance) de trier dans la shadow map pour n'afficher que l'ombre d'un objet. Or je ne veux que l'ombre de mon personnage... Il me faut simplement une méthode de projection de texture, mais je n'ai pas compris comment obtenir et utiliser la matrice de texture, et la matrice de projection (celle ci je sais comment l'obtenir, mais pas l'utiliser dans le cas de projective texture).

  7. #7
    Expert confirmé

    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 395
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 395
    Points : 5 010
    Points
    5 010
    Par défaut
    au moment de générer ta shadow map, tu n'utilises que les objets dont tu veux une ombre.

    (à moins que je dise une grosse bourde bien sur, enfin j'ai souvenir que tu fais un peu ce que tu veux quand tu génères la shadow map)

    après c'est selon si tu veux une ombre, ou simplement un quad texturé avec un rond aux pieds de ton perso (ce qui ne nécessite pas de projection particulière)

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 37
    Points : 11
    Points
    11
    Par défaut
    AH mais oui tu as tout a fait raison... je ne sais pas pourquoi je n'y ai pas pensé... Et bien en fait, je voudrais un mix du rond et de la shadow map :p Un rond oui, mais qui ne reste pas toujours à la même orientation, qui soit "projeté" sur le sol.

    Je vais voir la voie des shadow map.

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 37
    Points : 11
    Points
    11
    Par défaut
    Je me rends compte qu'utiliser les shadowmap ici ne sera pas faisable. En effet, je veux que chaque entité vivante est son petit cercle d'ombre projeté sur le sol, il faudrait donc faire un rendu pour chaque entité, pour ensuite qu'elles aient chacune leur propre shadiowmap.
    Il me faudrait donc un moyen de projeté une simple texture sur le sol dans l'axe de chaque personnage...

    Quelqu'un aurait une idée ?

  10. #10
    Expert confirmé

    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 395
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 395
    Points : 5 010
    Points
    5 010
    Par défaut
    heu le fait que tu veux que chacune de tes entités vivantes aient leur cercle n'impacte pas le fait que tu peux utiliser une shadow map, la shadow map n'est en aucun cas associée à un objet de la scène, elle est associée à une lumière.

    si tu as une lampe -> 1 shadow map
    2 lampes -> 2 shadow maps
    etc ...

    et ça quelque soit le nombre d'objet.


    bref passons sur les shadows maps.


    si tu connais la position de ton perso, tu sais alors mettre un quad à ses pieds, pour l'axe, tu connais la direction de la lumière.

    je vois pas trop ton problème.

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 37
    Points : 11
    Points
    11
    Par défaut
    J'ai du mal m'exprimer ^^"

    Au niveau de la shadow map, c'est impossible car pour avoir l'effet désiré il me faudrait placé une lampe au dessus de la tête de chaque personnage.

    L'effet désiré :

    C'est en effet similaire à placer un quad texturé sous le bonhomme, sauf que le terrain n'est pas toujours plat, et j'aimerai que ce quad texturé suive les variations de terrains, donc ça reviendrai à faire une projection d'une texture carré représentant l'ombre sous le personnage.

  12. #12
    Expert confirmé

    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 395
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 395
    Points : 5 010
    Points
    5 010
    Par défaut
    tu n'es pas obligé de n'avoir qu'un quad composé de 2 triangles, tu peux sois avoir un maillage sur le cpu dont tu appliqueras l'élévation de ton terrain (puisque tu sais ou se trouve ton perso, tu sais également les élévations autour de lui), ou alors tu fais de la tesselation sur le gpu, et pareil tu appliqueras dessus l'élévation de ton terrain, comme ça ton quad semblera suivre ton terrain.

    après pour le placage de la texture de cercle sur ce quad, ça va dépendre si tu veux que la texture fasse une ellipse quelle que soit le terrain, ou autre.

    mais déjà faire suivre au quad d'ombre l'élévation du terrain.

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 37
    Points : 11
    Points
    11
    Par défaut
    Oui mais je n'ai pas l'élévation du terrain autour de lui, qui est chargé dans un fichier .obj.

    Et puis dans le cas ou le personnage sauterai par exemple sur un obstacle (un cube ou autre), la texture ne serait pas sur ce cube.

    Mais n'y a t'il vraiment aucun moyen de projeter une texture ?

  14. #14
    Expert confirmé

    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 395
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 395
    Points : 5 010
    Points
    5 010
    Par défaut
    tu l'as forcément, vu que tu sais placer ton personnage sur la map, non? O_o

    si ton personnage saute, il te suffit de calculer l'intersection d'un rayon partant à la verticale de ton perso avec la map.

    et ta texture, ok pour la projeter, mais il te faut bien un support pour la dessiner. donc soit un quad que tu déplaces toi même, soit sur la map directement, dans ce cas il te faut savoir sur quel triangle tu te trouves (ainsi que les triangles adjacents), et calculer des coordonnées de textures non triviales.

  15. #15
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 37
    Points : 11
    Points
    11
    Par défaut
    J'utilise Newton comme moteur physique, je sais quelle est la position du perso, celle du terrain, et peut en déduire la hauteur du perso. Mais de là à positionner correctement la texture je ne sais pas.


    EDIT : Un autre moyen serait d'utiliser les shadow map avec une lumière directionnelle et non ponctuelle, est-ce possible ?

  16. #16
    Expert confirmé

    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 395
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 395
    Points : 5 010
    Points
    5 010
    Par défaut
    oui tu peux faire ce que tu veux pour la technique de projection pour la shadow map

  17. #17
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 37
    Points : 11
    Points
    11
    Par défaut
    Ok je m'y mettrai après le bac, merci !

Discussions similaires

  1. question concernant le setup project en .Net
    Par tartour5 dans le forum C#
    Réponses: 2
    Dernier message: 05/03/2007, 18h46
  2. [Architecture] Questions DB, Arch, Tech pour un project
    Par Ultiny dans le forum Développement Web en Java
    Réponses: 3
    Dernier message: 02/05/2006, 16h04
  3. [Direct3D] Projection de texture
    Par El Brujo dans le forum DirectX
    Réponses: 4
    Dernier message: 20/12/2005, 21h00
  4. Réflection - projected texture
    Par Dranor dans le forum DirectX
    Réponses: 2
    Dernier message: 29/05/2004, 14h35
  5. Question sur le format de texture
    Par Johngame dans le forum DirectX
    Réponses: 1
    Dernier message: 06/12/2003, 13h22

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