Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2997 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  OpenGL -> multitexturing -> blend problem

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

OpenGL -> multitexturing -> blend problem

n°1349311
icareo
Posté le 19-04-2006 à 03:57:20  profilanswer
 

J'utilise le multitexturing pour mon moteur 3D.
un pbroblème se pose : mes textures sont chargées parfaitement, sur 32 bits. ( GL_RGBA )
Seulement voila ... le blending de deux textures se passe bizzarement :
 
quand j'utilise  glTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_BLEND ); apres activation de ma texture,
tout se passe très bien niveau alpha, mais par contre, les couleurs sont comme "en négatif"...
(tu blanc apparait noir, et inversement...)
 
Inverser directement les couleurs de ma texture serait très handicapant pour d'autres raisons ^^ ...
 
Où doisje placer un glBlendFunc, et avec quels paramètres, pour que ca revienne à la normale ???
 
petite info : c'est du rendering par arrays, mon code ressemble donc à ca :
avec 'texs' qui est un tableau des textures GL_TEXTURE0 , GL_TEXTURE1 etc... (ou GL_TEXTURE_ARB0 , etc... comme vs voulez)
 
 

Citation :

glActiveTexture(texs[level]);
  glClientActiveTexture(texs[level]);
  glBindTexture(GL_TEXTURE_2D,glTex);
  glEnable(GL_TEXTURE_2D);
  if( level != 0 )
  {
   //glBlendFunc(GL_SRC_ALPHA,GL_ONE);
   glTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL );//GL_BLEND
  }
  glTexCoordPointer(2, arrTyp, 0, coordPtr);

mood
Publicité
Posté le 19-04-2006 à 03:57:20  profilanswer
 

n°1349380
_darkalt3_
Proctopathe
Posté le 19-04-2006 à 10:19:43  profilanswer
 

il faut pas utiliser glMultiTexCoord2fARB plutot ?

n°1349725
icareo
Posté le 19-04-2006 à 15:11:57  profilanswer
 

Nop  :)  glMultiTexCoord2fARB, (ou glMultiTexCoord2f, ca dépend chez qui ...), c'est pour le rendu polygone par polygone....
cad avec glBegin(GL_TRIANGLES) ou autre... et pour chaque vertex, tu précise les coordonées de chaque texture avec glMultiTexCoord2fARB.
Moi j'utilise glDrawArrays... et non glBegin & glVertex etc..
Beaucoup plus performant :)


---------------
tutos de programmation 3D :
n°1349785
_darkalt3_
Proctopathe
Posté le 19-04-2006 à 15:44:18  profilanswer
 

Mais ton multitexturing ne fonctionne pas avec ca non plus ?

n°1349933
icareo
Posté le 19-04-2006 à 17:36:50  profilanswer
 

si :) d'ou le glTexCoordPointer qui définit le pointeur vers le tableau de floats qui contient les coordonées texture u,v de chaque vertex.
 
pour les polygones, je spécifie le pointeur vers le tableau de coordonées x,y,z  dans une autre partie du code.
pareil pour les normales.
 
et ca marche :) sauf le blending qui foire... je sais pas pourquoi.
 
une remarque : la ligne  
 glTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, BL_BLEND );
 
quand je mets
 
 glTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL );
 
j'obtiens presque ce que je veux... mis à part que la texture0 est influenée par les lumières, alors que texture1 ne l'est aps : la texture ressort dans les zones qui sont sensées etres sombres :)


---------------
tutos de programmation 3D :
n°1652875
julianibar​z
Posté le 04-12-2007 à 19:38:31  profilanswer
 

Je fais la même chose et j'ai exactement le même problème. Des news ?


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  OpenGL -> multitexturing -> blend problem

 

Sujets relatifs
problem pour un crackVos avis: mon jeu amateur Sonic 3D ( moteur perso OpenGL )
[OpenGL] animation camera[xul/xpcom/js] problèm avec drag and drop
[Java3D] problem de lumiere[openGL]: passage coordonnées camera -> globales
inclure du Python pour une reconnaissence d'un .blend [openGL]UDP winsock2 : Select problem
[OpenGL] Dessiner des voxels 
Plus de sujets relatifs à : OpenGL -> multitexturing -> blend problem


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)