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 :

Textures inversées, coordonnées de textures correctes.


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 208
    Par défaut Textures inversées, coordonnées de textures correctes.
    Bonsoir bonsoir.

    Je viens de me rendre compte d'un petit soucis dans le placage de mes textures dans ma scène WebGL : elles sont inversées.



    Et ci dessous la texture (toute moche) que j'utilise :



    On se rend bien compte que le "deux" sur ma face devrait être lisible.
    Néanmoins l'image semble être chargée dans le bon sens puisque le rectangle orange (non centré sur mon image de texture) est bien plaqué sur ma face (pas de débordement ni rien).
    J'ai d'abord pensé à un soucis au niveau de ma création de l'objet (création dans le sens inverse), mais le modèle 3D représentant la lettre "G" est bien dans le bon sens.

    Comment expliquer (et corriger) cet inversement de texture?

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 141
    Billets dans le blog
    150
    Par défaut
    Bonjour,

    Les possibilités de cette erreur sont:

    - Coordonnées de texture incorrect (ou inversé en y)
    - Caméra à l'envers.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 208
    Par défaut
    Merci pour ta réponse LittleWhite.

    En fait, on dirait que mon objet est construit "à l'envers"

    Voici les informations retournées lors de la création d'un plan (2 triangles) à partir d'un fichier OpendCOLLADA, exporté depuis 3dsMax :

    Sommet 0 = Indice : 0 / Coordonnées du sommet : [1,-1,0] / Coordonnées de Texture : [0,0]
    Sommet 1 = Indice : 1 / Coordonnées du sommet : [-1,-1,0] / Coordonnées de Texture : [1,0]
    Sommet 2 = Indice : 2 / Coordonnées du sommet : [-1,1,0] / Coordonnées de Texture : [1,1]
    Sommet 3 = Indice : 2 / Coordonnées du sommet : [-1,1,0] / Coordonnées de Texture : [1,1]
    Sommet 4 = Indice : 3 / Coordonnées du sommet : [1,1,0] / Coordonnées de Texture : [0,1]
    Sommet 5 = Indice : 0 / Coordonnées du sommet : [1,-1,0] / Coordonnées de Texture : [0,0]
    Le rendu à l'écran :



    Et la texture utilisée :



    Le triangle avec la plus forte opacité est le premier triangle construit (indices 0-1-2).
    Les coordonnées de textures ont l'air correctes (on s'attend à ce que la texture soit plaquée dans cet ordre).
    Mais la construction de l'objet (sommets associés) tourne dans l'autre sens.

    Y'a t'il une subtilité dans le format collada que je n'ai pas vu?

  4. #4
    Expert confirmé

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    Juin 2005
    Messages
    2 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Software Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 033
    Billets dans le blog
    12
    Par défaut
    En voyant les coordonnées de texture, il est tout à fait normal que ta texture soit inversée.
    Si vous ne trouvez plus rien, cherchez autre chose...

    Vous trouverez ici des tutoriels OpenGL moderne.
    Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
    Un projet qui ne sert à rien, mais qu'il est joli (des fois) : ProceduralGenerator (Génération procédurale d'images, et post-processing).

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 208
    Par défaut
    Yop dragonjoker59.

    Oui, par rapport à la construction de mon triangle.

    D'ailleurs pour un plan, ou toute géométrie (+ texture) se répétant selon un "plan miroir", il me suffit d'inverser les coordonnées de texture (sur l'abscisse) pour que tout rentre dans l'ordre.
    Mais lorsque c'est plus complexe, évidement ça ne marche pas.

    Exemple, un plan qui aurait pour coordonnées de texture (désirées) 0,0 / 0,0.5 / 0.5,0.5 / 0.0,0,5

    Si j'inverse mes coordonnées, je plaque 1,0 / 0.5,0 / 0.5,0.5 /1.0,0.5

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 208
    Par défaut
    Je crois que j'ai trouvé.

    Les axes utilisés dans Max et OpenGL n'étaient pas les mêmes.



    Je m'étais bien rendu compte qu'il fallait que je change l'axe Up de mes Objets, mais je n'avais pas fait gaffe à l'axe de profondeur inversé.
    Je pense que tout est rentré dans l'ordre.


Discussions similaires

  1. Textures et coordonnées inversées ?
    Par jomeo dans le forum OpenGL
    Réponses: 10
    Dernier message: 15/04/2008, 15h20
  2. Réponses: 2
    Dernier message: 08/09/2007, 22h33
  3. Coordonnées de texture 'en live'
    Par KnightCoder dans le forum DirectX
    Réponses: 8
    Dernier message: 30/08/2007, 17h28
  4. Réponses: 6
    Dernier message: 28/11/2006, 19h12
  5. Index et coordonnées de texture
    Par atalmapi dans le forum DirectX
    Réponses: 3
    Dernier message: 15/03/2005, 01h02

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