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 :

Surfaces - interpolation


Sujet :

OpenGL

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Surfaces - interpolation
    Bonjour à tous,

    Débutant en OpenGL, j'ai suivi les tutos et je me pose maintenant une question de meilleur choix.

    Comme illustré sur ma sublime figure paint, j'ai créé une structure de données permettant de stocker une tuile composées de 12 points et d'un ensemble de liens entre eux. Chacun de ces lien possède un type donnant lieu à la création d'un aplat de couleur différent. Par exemple le point K est lié au point H avec un lien de type BLEU. Le point B est lié au point E avec un lien de type ROUGE.

    Qu'elle serait la meilleur solution pour obtenir le(s) résultat souhaités comme sur la figure ? De plus j'aimerai créé un peu de variété dans les possibles résultats. Par exemple entre les deux premières tuiles résultats, j'aimerai faire varier le degré d"interpolation" entre les points. Je parle d'interpolation car j'ai déjà pensé à bézier.

    Une autre de mes interrogations est le fait que certaines surfaces doivent ou non se toucher. Par exemple, dans les deux premières tuiles, j'aimerai que la surface bleu ne touche pas la surface rouge au contraire de la dernière...

    Est-il possible de contraindre la création de surface et lui ajoutant des "bornes" à atteindre ou au contraire à ne pas dépasser ?

    Merci.

    Pierre
    Images attachées Images attachées  

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Après intense réflexions, j'ai compris que je m'étais trompé de section de forum... Par contre j'ai presque trouvé une solution à mon problème...

    J'ai générer un maillage de toute ma tuile (cyan) ainsi d'une liste de points (rouge) définissant une courbe (jaune) de Bézier. Pour la suite je me suis insipré de cet article remplaçant "le choix des textures selon la hauteur des pixels" par "l'appartenance d'un point de la courbe à un triangle".

    Le soucis c'est que cette solution m'oblige a beaucoup TROP de calcul. Car pour chaque triangle, je cherche un point sur la courbe => Boucles for imbriquées coûteuses.

    De plus, ne cherchant que l'appartenance des points aux triangles, j'obtiens le résultat présenté sur la figure jointe : quelques triangles seulement sont coloriés...

    Sur ces bases auriez-vous quelques idées ?
    Images attachées Images attachées  

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2008
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2008
    Messages : 41
    Points : 47
    Points
    47
    Par défaut
    L'idée qui me vient, de suite, pour les problèmes de calcul, serait de faire l'inverse: A l'aide de ta courbe de Bézier, calculer les triangles qui tombent dessous (en parcourant la courbe avec un intervalle suffisamment petit).
    Ensuite, remplir ta texture: En parcourant colonnes et lignes, avec une variable stockant la dernière couleur rencontrée, soit stocker la couleur (si le triangle a déjà été peint), soit remplir la couleur du triangle avec la couleur stockée. Envoyer tout ça au fragment shader et c'est plié.

    P.S. Si tu as une carte suffisamment récente, tu peut même passer par un compute shader, mais ce serait sortir l'artillerie lourde pour descendre un moineau

Discussions similaires

  1. Interpolation d'une surface à partir de 5 points
    Par shrek.romaneo dans le forum Mathématiques
    Réponses: 19
    Dernier message: 22/12/2008, 16h53
  2. Interpolation biliniaire sur la surface d'une sphère
    Par djem_aymen dans le forum Mathématiques
    Réponses: 2
    Dernier message: 05/08/2008, 18h39
  3. Créer une surface d'interpolation
    Par celine085 dans le forum MATLAB
    Réponses: 4
    Dernier message: 14/05/2008, 15h08
  4. Interpolation de surface 3D
    Par coolpan dans le forum MATLAB
    Réponses: 3
    Dernier message: 09/04/2008, 19h21
  5. interpolation de surface
    Par Sammy44 dans le forum MATLAB
    Réponses: 1
    Dernier message: 01/04/2008, 12h41

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