begin process at 2012 05 30 00:34:48
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

OpenGL map blending


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

OpenGL map blending

lundi 29 août 2005 à 17:54:15 | OpenGL map blending

dletozeun

bonjour,

Dans mon projet je genere un terrain sur lequel j'applique une texture (roche par exemple) avec opengl.
Maintenant je voudrais gerer le multitexturing afin que, lorsque que je peint une autre texture sur le terrain ( herbe par exemple) celle ci sur melange un peu au niveau de la frontiere entre la roche et l'herbe...
J'ai essayé cela avec l'extension ARB de opengl pour pouvoir utiliser la fct
glMultiTexCoord2fARB() pour pouvoir donner a opengl plusieurs coordonnées de textures sur plusieurs textures différentes...

Mais le prb c'est que je n'arrive pas a paramétrer le melange comme je veux,. Dans une source j'ai trouvé ca: ( mais je n'y comprends rien)

glActiveTextureARB( GL_TEXTURE0_ARB );
    glEnable( GL_TEXTURE_2D );
    glBindTexture( GL_TEXTURE_2D, g_textureID_0 );

    glTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL );

    //
    // Texture Stage 1
    //
    // Perform a linear interpolation between the output of stage 0
    // (i.e texture0) and texture1 and use the RGB portion of the vertex's
    // color to mix the two.
    //

    glActiveTextureARB(GL_TEXTURE1_ARB );
    glEnable( GL_TEXTURE_2D );
    glBindTexture( GL_TEXTURE_2D, g_textureID_1 );

    glTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE_ARB );
    glTexEnvi( GL_TEXTURE_ENV, GL_COMBINE_RGB_ARB, GL_INTERPOLATE_ARB );

    glTexEnvi( GL_TEXTURE_ENV, GL_SOURCE0_RGB_ARB, GL_PREVIOUS_ARB );
    glTexEnvi( GL_TEXTURE_ENV, GL_OPERAND0_RGB_ARB, GL_SRC_COLOR );

    glTexEnvi( GL_TEXTURE_ENV, GL_SOURCE1_RGB_ARB, GL_TEXTURE );
    glTexEnvi( GL_TEXTURE_ENV, GL_OPERAND1_RGB_ARB, GL_SRC_COLOR );

    glTexEnvi( GL_TEXTURE_ENV, GL_SOURCE2_RGB_ARB, GL_PRIMARY_COLOR_ARB );
    glTexEnvi( GL_TEXTURE_ENV, GL_OPERAND2_RGB_ARB, GL_SRC_COLOR );

ca sert a paramétrer l'application des textures 0 et 1 mais a part ca...ca donne pas ce que je veux et en plus je peux pas paramétrer l'a contribution de chaque texture...

Peut etre y a t'il un autre moyen que de passer par les extensions ARB de opengl...
Comment font les developpeurs dans les jeux?

lundi 29 août 2005 à 22:14:05 | Re : OpenGL map blending

luhtor

Bon d'après ce que j'ai compris. Si tu prends un format de texture qui gère la transparence, tu peux pas mettre une transparence progressive sur le bord ?


lundi 29 août 2005 à 22:21:58 | Re : OpenGL map blending

dletozeun

pourquoi ca?
En tout cas mes textures sont au format jpeg donc elles ne prennent pas en compte la transparence...

lundi 29 août 2005 à 23:12:27 | Re : OpenGL map blending

luhtor

Ben ca, ca veut dire quoi : celle ci sur melange un peu au niveau de la frontiere entre la roche et l'herbe...
Moi je comprends, le bord de la texture de l'herbe est un peu tranparent.


lundi 29 août 2005 à 23:24:55 | Re : OpenGL map blending

dletozeun

Non il est pas transparent, ce que je veux c'est appliquer 2 textures sur le meme poly ( herbe +roche) et que ces textures se melangent avec une contribution plus importante de la roche pour les polys de la frontiere( entre les  textures roche et herbe) qui se trouvent plus proche de la roche , de meme pour l'herbe pour les polys proche de la texture herbe et un melange 50 50 pour les polys au milieu de la frontiere...
mardi 30 août 2005 à 00:27:48 | Re : OpenGL map blending

luhtor

Donc ta texture herbe serait une texture entièrement transparente avec des points verts (en gros) ?



mardi 30 août 2005 à 14:45:50 | Re : OpenGL map blending

dletozeun

Non elle est pas transparente! Le parametrage avec glTexEnv permet seulement de dire a opengl que la texture herbe doit se melanger avec la roche a un certain degré...defini par la couleur courante je crois...
mardi 30 août 2005 à 16:19:33 | Re : OpenGL map blending

luhtor

La tu utilises une texture a 3 compostante RGB, (le jpg quoi). Mais si tu utilises une texture RBGA, chaque pixel de la texture possède une transparence propre. C'est sur ce principe que sont affichés les arbres et les buissons dans certains jeux. Donc si ta texture est entièrement transparente, elle n'a aucun effet lorsque tu l'appliques. Mais si tu lui ajoutes seulement des zones vertes (ton herbe) alors ces zones se superposeront.

Mais comme je suis pas sur d'avoir bien compris. Tu as une texture terre à la base, sur laquelle tu peux ajouter une texture herbe. Cette dernière étant composé que de points verts (en gros). Le reste de cette texture ne devant pas influer sur la texture initiale qu'est la terre, c'est ca ?
mardi 30 août 2005 à 20:52:55 | Re : OpenGL map blending

dletozeun

oui, les bords de la texture herbe doivent se melanger avec la texture terre ,c tout.
mardi 30 août 2005 à 21:07:55 | Re : OpenGL map blending

luhtor

Oui mais c'est quoi tes bords de la texture... Une bande de pixel sur le coté de ta texture n*n ?

Parce que, le mélange se fait tout seul avec le lissage des textures... donc I do not understand what you want.

1 2

Cette discussion est classée dans : gl, texture, env, arb, gltexenvi


Répondre à ce message

Sujets en rapport avec ce message

opengl multitexturing->melanger 2 textures [ par dletozeun ] bonjour, C'est la deuxieme fois que je poste pour le multitexturing mais cette fois ci ca se precise... voila mon probleme: J'essais , de melanger d Texture openGl [ par neodelphi ] Bonjour tout le monde, j'essaye désespérément d'ajouter des textures dans mon projet openGl, mais je devient fou... J'ai écrit une classe qui me perm Listes OpenGL : Problème de texture [ par smoove5198 ] Bonjour, Je travaille actuellement sur un projet en opengl. Pour des raisons de performence je me suis ecrit une classe qui crée du texte a partir d' Probléme de textures pour un loader 3DS [OpenGl,DevIl] [ par juliendemomaker ] Bonjour ! Voici mon probléme, je conçois actuellement un loader .3ds en C++ avec OpenGl, le probléme est que quand je charge un model 3D quelconque a CLASSE SDL JPEG (OPENGL) [ par Batman60 ] au secours je n'arrive pas à afficher la texture voulue sur les faces choisie du cubeLE CLASSE .H: class Csdl{    public:     Csdl();&n TEXTURE SUR UNE SPHERE TOURNANTE [ par Batman60 ] bonsoirj'ai un problème de texture sur une spherela texture ne  tourne pas et ne prend pas la forme de la sphere ,mais la sphere tournevoic image non chargée [ par aurelivs ] bonjourje cherche a faire une appli en C++ et OpenGL pour charger une image et afficher cette image (puis la transformer). cependant je n'arrive pas à Pb de FRONT et BACK buffer avec texture [ par gastoudou ] Bonjour à tous,Je suis en train de faire un projet en OpenGL pour l'école sur un puzzle 2D. Il y a 16 cases mélangées et on doit les remettre à leur p labyrinthe en 3D sytle ecran veille windows [ par gastoudou ] Bonjour à tous,Et oui encore moi pour une question, que dis-je, une mission pour une âme charitable.Je suis en train de faire un labyrinthe en 3D styl Affichage correct d'une sphère et de sa texture [ par mikey84 ] bonjour jai un gros problème que je n'arrive pas a résoudre et la je sais plus quoi faire! je m'explique : j'affiche une shpère à l'écran et je la pla


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 5,491 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales