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 :

Générer une cube map à partir d'une texture 3D via une sphère


Sujet :

OpenGL

  1. #1
    Membre régulier
    Inscrit en
    Septembre 2010
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 73
    Points : 90
    Points
    90
    Par défaut Générer une cube map à partir d'une texture 3D via une sphère
    Bonjour,

    J'ai un problème auquel je ne trouve pas de réponse.

    Je compte appliqué une texture 3D générée procéduralement, sur une sphère.
    Ça donnerait à peu près ça :



    Et je voudrais crée à partir de ça, une cube map. Sachant qu'il faut prendre en compte les distorsions (voir l'image suivante pour se faire une idée).



    Mais je ne vois absolument pas comment procéder efficacement.
    Si quelqu'un a une explication, un exemple ou une piste je suis preneur !

    Merci.

  2. #2
    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
    Citation Envoyé par Awakening Voir le message
    Bonjour,

    J'ai un problème auquel je ne trouve pas de réponse.

    Je compte appliqué une texture 3D générée procéduralement, sur une sphère.
    Ça donnerait à peu près ça :



    Et je voudrais crée à partir de ça, une cube map. Sachant qu'il faut prendre en compte les distorsions (voir l'image suivante pour se faire une idée).



    Mais je ne vois absolument pas comment procéder efficacement.
    Si quelqu'un a une explication, un exemple ou une piste je suis preneur !

    Merci.
    Ça manque de détails, mais supposons (vu que tu ne le dis pas) que ta fonction procédurale prends des coordonnées 3D XYZ sur la surface de la sphère pour générer une couleur RGB.

    Pour générer ta cubemap : Chaque texel de ta cubemap est un point T(X'Y'Z') dans l'espace. Le point S correspondant sur ta sphère est (en supposant que la sphère et le cube sont centrés à l'origine O) la simple projection centrée en l'origine de ton point.

    vecteur OS = (vecteur OT / norme du vecteur OT) * rayon de ta sphère.

    Ensuite tu calcules la couleur de ton texel situé au point T en fournissant la coordonnée S (calculée ci dessus) à ta fonction procédurale.

    C'est vraiment tout simple..

  3. #3
    Membre régulier
    Inscrit en
    Septembre 2010
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 73
    Points : 90
    Points
    90
    Par défaut
    Ah oui, j'aurais du voir ça avec la deuxième image...

    Et bien merci beaucoup ! Maintenant tout ce que je souhaite faire fonctionne en théorie. Je vais pouvoir passer au code.

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 14/05/2010, 15h26
  2. Réponses: 15
    Dernier message: 29/07/2009, 13h33
  3. Réponses: 3
    Dernier message: 17/02/2009, 16h08
  4. Réponses: 2
    Dernier message: 07/07/2008, 10h25
  5. Nomer une liste a partir d'un nom pris dans une liste
    Par leau2001 dans le forum Général Python
    Réponses: 2
    Dernier message: 22/05/2006, 11h51

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