J´ai un probleme et je ne sais pas comment le résoudre, aidé moi
, j´essaye de faire le mipmapping et voila ce que j´ai :
http://img56.imageshack.uus/my.php?image=capture7ii.png
et voila ce que je fait :
void Terrain::draw()
{
int i,j;
GLubyte* data = heightmap.bits();
glPushMatrix();
glEnable(GL_NORMALIZE);
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, idterrain);
// Tentative de Mip-mapping
//cela définit la façon dont la texture est appliquée. LINEAR est le meilleur, mais le + lent.
// On utilise aussi la technique de MipMapping
glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTE
R,GL_LINEAR);
glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTE
R,GL_LINEAR_MIPMAP_LINEAR);
gluBuild2DMipmaps(GL_TEXTURE_2D, 3, getWidth(heightmap), getHeight(heightmap), GL_RGB, GL_UNSIGNED_BYTE, data);
//glColor3f( 0,0,0);
glDisable( GL_LIGHTING );
glPointSize(2.0f);
for(i=1;i<getWidth(heightmap)-2;i++)
{
glBegin( GL_TRIANGLE_STRIP);
for(j=1;j<getHeight(heightmap)-2;j++)
{
normal(i, j);
glTexCoord2f(1.0f*i/getWidth(heightmap),1.0f*j/get
Height(heightmap));
glVertex3f( 1.0f*i, 1.0f*j, 0.1f*getIntensity( heightmap, i, j) );
normal(i+1, j);
glTexCoord2f(1.0f*(i+1)/getWidth(heightmap),1.0f*j
/getHeight(heightmap));
glVertex3f( 1.0f*(i+1), 1.0f*j, 0.1f*getIntensity( heightmap, i+1,j) );
}
glEnd();
}
glEnable( GL_LIGHTING );
glDisable(GL_TEXTURE_2D);
glDisable(GL_NORMALIZE);
glPopMatrix();
}
à vous