Transition progressive de textures en OPENGL

CausPupus Messages postés 32 Date d'inscription vendredi 13 décembre 2002 Statut Membre Dernière intervention 31 décembre 2005 - 29 déc. 2005 à 17:26
xample Messages postés 1 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 1 juillet 2006 - 1 juil. 2006 à 01:42
En OPENGL tout le monde connait la magnifique gestion des couleurs de l'api notamment le mixage des couleurs qui permet d'avoir un dégradé entre deux couleurs différentes. Cela permet de caché les discontinuté entre deux carré par exemple et faire croire en fait que c'est une unique et même surface.(par exemple passage progressif du bleu au rouge).

Mon problème est de faire la même chose mais avec des textures. C'est à dire de passer d'une texture à l'autre progressivement, cela dans le but de caché le fait qu'une surface complexe (formé de carré dans mon cas) est une succession de plus pettits carrés collés les uns aux autres, dont la texture peut changer d'un carré à l'autre. Et ce que je voudrais faire c'est qu'entre deux carrés de texture différente il y est un passage progressif de la texture de l'un à la texture de l'autre (comme pour les couleur).

J'ai besoin de ca pour la génération d'un terrain.

Donc si quelqu'un pouvait me donner le nom de cette technique pour que je face des recherches exactes sur le net, ou me dire ou je peut trouver un exemple, ca serait super, car je bataille depuis un bout de temps.

Merci d'avance pour vos réponses.

9 réponses

luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
29 déc. 2005 à 17:40
-> Multitexturage, mais sans le redbook, j'ai peur que ca soit
difficile. Il ne faut pas des exemples de codes, mais les explications
complètes des fonctions à utiliser. C'est pas simple simple :)
0
MrdJack Messages postés 146 Date d'inscription jeudi 22 avril 2004 Statut Membre Dernière intervention 8 mars 2008 2
30 déc. 2005 à 01:31
si je pige bien, tu voudrais faire un truc du genre la jonction entre la plaine et la montagne ou l'herbe et le sable....

dans ce cas, luthor a raison, le multitexturage est la solution.

utilise le redbook, lit le depuis le debut car il y a ton bonheur concernant opengl.



sinon, une simple recherche sur google peut te donner quelques explications complémentaires....
http://tfpsly.planet-d.net/english/3d/multitexturing.html


@++
0
neodelphi Messages postés 442 Date d'inscription jeudi 4 avril 2002 Statut Membre Dernière intervention 11 août 2008
30 déc. 2005 à 10:51
C'est quoi le "redbook" ?

neodelphi
0
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
30 déc. 2005 à 11:56
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
neodelphi Messages postés 442 Date d'inscription jeudi 4 avril 2002 Statut Membre Dernière intervention 11 août 2008
31 déc. 2005 à 10:28
IL est bien ce bouquin ? je l'avait plusieurs fois apercu sur le net, mais seulement la couverture...

neodelphi
0
CausPupus Messages postés 32 Date d'inscription vendredi 13 décembre 2002 Statut Membre Dernière intervention 31 décembre 2005
31 déc. 2005 à 11:23
Merci, a ceux qui ont répondu. Je vais voir tout ca en détail.
0
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
31 déc. 2005 à 11:32
Oui il est bien ce bouquin :) Mais ya openGL 2.0 de sorti, mais seulementen anglais.
0
neodelphi Messages postés 442 Date d'inscription jeudi 4 avril 2002 Statut Membre Dernière intervention 11 août 2008
1 janv. 2006 à 09:53
C'est bon a savoir, et puis l'anglais me dérange pas trop.

neodelphi
0
xample Messages postés 1 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 1 juillet 2006
1 juil. 2006 à 01:42
Une autre méthode relativement pratique est d'utiliser les textures 3D. Le seul inconvénient est que lorsque tu passe de la couche 1 (texture 1) à la couche 3 (texture 3) par exemple, openGL te fais une transition par la couche 2. Ce qui dans certains cas n'est pas un problème mais si tu veux faire des transition entre 2 textures uniquement ça pose problème. Il y a peut être une option que je ne connais pas pour éviter cela mais j'ai pas trouvé.
Une fois que tu as une méthode qui marche avec une texture2D il te faut
- Préparer la texture 3d qui peut être par exemple une image ou tu empiles verticalement les textures qui serviront de couches. exemple si c'est 4 textures de 128x128, ça te donne une grosse texture de 128 de large et 4x128 = 512 de haut
- Charger la texture 3d comme si c'était une 2D mais avec toutes les méthodes 3D (genre il y a un paramètre de plus qui sera le nombre de couches)
- Utiliser une méthode glTexCoord3f pour préciser les 3 points se relatant a la texture 3d.
Il y a un bon explicatif avec la liste des commandes sur le lien suivant:
http://gpwiki.org/index.php/OpenGL_3D_Textures

Good luck
0
Rejoignez-nous