Bonjour,
je souhaite faire un cross billboard.
Tout marche, sauf un problème de transparence que je n'arrive pas à régler.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
void drawGrass()
{
	glEnable(GL_BLEND);
	glEnable(GL_DEPTH_TEST);
	glEnable(GL_ALPHA_TEST);
	glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA) ; 
	//glAlphaFunc(GL_EQUAL, 1);
	//glDepthFunc(GL_LESS);
 
  if(programobject!=0){
    glUseProgramObjectARB(programobject);
  }
  glActiveTexture(GL_TEXTURE0);
  TextureManager::Inst()->BindTexture(grassTex1);
  glActiveTexture(GL_TEXTURE1);
  TextureManager::Inst()->BindTexture(grassTex1_alpha);
  glUniform1i(glGetUniformLocationARB(programobject, "grass"), 0);
  glUniform1i(glGetUniformLocationARB(programobject, "grass_alpha"), 1);
 
  float w=4.f;
  float h=2.f;
  glPushMatrix();
  for(int i=0; i<3; ++i)
  {
	  glRotatef(360./3., 0., 1., 0.);
	glTranslatef(0., 0., w/3.);
	drawGrassBillboard(w,h);
  }
  glPopMatrix();
 
	glUseProgramObjectARB(0);
}


Je pense que c'est un probleme de paramètres glEnable / gl***func...

note:
near/far = 0.1 / 100.
Les enable sont là pour le test, je les déplacerai dans le init quand ça fonctionnera

Merci de votre aide!