Bonjour, je développe un logiciel qui va afficher des objets dans un rendu OpenGL. Ce logiciel se compose de l'éxécutable et de plugins qui chacun permettront de dessiner tel ou tel objet.

Mon context OpenGl est don crée dans mon exécutable et mes fonctions de dessins dans les dll.

J'en arrive à mon problème :
Lorsque que je charge une texture et que je l'affiche directement dans l'éxécutable je n'ai pas de problème.

Lorsque que je charge une texture et que je l'affiche depuis mon plugin (dll ), la texture se charge mais rien ne s'affiche.

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
33
34
35
36
37
38
39
40
41
42
43
44
45
 
	unsigned int uiTexture;
	unsigned int uiTextureIl;
 
	ilGenImages( 1, &uiTextureIl );
	ilBindImage( uiTextureIl );
//Chargement OK
	if( ilLoadImage(szImage ) == IL_FALSE )
	{
		ilDeleteImages( 1, &uiTextureIl );
		return 0;
	}
	glGenTextures(1, &uiTexture);
	glBindTexture(GL_TEXTURE_2D, uiTexture);
 
	glTexImage2D(	GL_TEXTURE_2D,
					0,
					ilGetInteger(IL_IMAGE_BPP),
					ilGetInteger(IL_IMAGE_WIDTH),
					ilGetInteger(IL_IMAGE_HEIGHT),
					0,
					ilGetInteger(IL_IMAGE_FORMAT),
					GL_UNSIGNED_BYTE,
					ilGetData());
 
	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
 
        ilDeleteImages(1, &uiTextureIl);
//Affichage
		glEnable(GL_TEXTURE_2D);
		glBindTexture( GL_TEXTURE_2D, uiTexture );
		glColor3f( 0.0f, 0.0f, 0.0f); // couleur qui s'affiche à la place de ma texture
		glBegin(GL_QUADS);
			glTexCoord2i( 0, 0 );
			glVertex2f( 0.0f, 0.0f );
			glTexCoord2i( 1, 0 );
			glVertex2f( fWidth, 0.0f );
			glTexCoord2i( 1, 1 );
			glVertex2f( fWidth, -fHeight );
			glTexCoord2i( 0, 1 );
			glVertex2f( 0.0f, -fHeight );
		glEnd();
Avez-vous des idées ???

Merci