TEXTURE OPENGL

Résolu
cs_Batman60 Messages postés 71 Date d'inscription samedi 21 mai 2005 Statut Membre Dernière intervention 21 octobre 2007 - 23 juin 2005 à 14:49
Arnaud16022 Messages postés 1329 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 16 juin 2010 - 2 juil. 2005 à 11:39
SALUT
je voudrais afficher des textures bmp sur les faces d'un cube ,un défilement de 10 textures par exemple ,qui s'affichent une par une ,la même sur les six faces ,chaque texture doit s'afficher pendant 5 secondes
j'utilise une fenêtre windows
comment faire
j'ai essayé d'utiliser case WM_PAINT pour profiter de chaque rafraississement du dessin et en créant une fonction temps();qui compte le nombre de passage par CASE WM_PAINT mais ca marche pas
OU alors il faut utiliser le message de WINDOWPROC pour qu'il rafraichit en permanence CASE WM_PAINT ????
EXCUSER moi mais je débutant en prog
MERCI D'AVANCE
@+
ex:
void temps() <-----------------------------------
{
i++;
if(i>0&&i<2)
{
glBindTexture (GL_TEXTURE_2D, texName[0]);
}
else
{
if(i>10&&i<12)
{
glBindTexture (GL_TEXTURE_2D, texName[1]);
}
}
};
---------------------------------------------------------------------------------------
ET
----------------------------------------------------------------------------------------
LRESULT CALLBACK WindowProc (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch (uMsg)
{


case WM_CREATE:
DC=GetDC (hWnd);
InitPixelFormat (DC);
RC = wglCreateContext (DC);
wglMakeCurrent (DC, RC);
glEnable (GL_DEPTH_TEST);
glClearColor (0,0,1,0);
glEnable(GL_TEXTURE_2D);

LoadTexture1("photo1.bmp");
LoadTexture2("photo2.bmp");
LoadTexture3("photo3.bmp");
LoadTexture4("photo4.bmp");
LoadTexture5("photo5.bmp");
LoadTexture6("photo6.bmp");
break;
case WM_CLOSE:
wglMakeCurrent (NULL, NULL);
wglDeleteContext (RC);
ReleaseDC (hWnd,DC);
PostQuitMessage (0);
break;
case WM_SIZE:
glViewport (0,0,LOWORD (lParam),HIWORD (lParam));
glMatrixMode (GL_PROJECTION);
glLoadIdentity ();
gluPerspective (45,(float)(LOWORD(lParam))/(float)(HIWORD(lParam)),1,100);
break;
case WM_PAINT:
temps(); <-----------------------------------------------------
RePaint ();
break;
return 0;
break;
default:
return DefWindowProc (hWnd,uMsg,wParam,lParam);
break;
}
return 0;
}

6 réponses

dletozeun Messages postés 546 Date d'inscription vendredi 13 février 2004 Statut Membre Dernière intervention 9 janvier 2008 1
23 juin 2005 à 16:07
ca marche pas avec la fonction que je t'ai donné???
3
Arnaud16022 Messages postés 1329 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 16 juin 2010 2
24 juin 2005 à 19:33
ah?

oups ^^

jme disais aussi, 2 projets qui se ressemblent comme ca ... mdr

mais alors c'est quoi le pb?

ah oué il faut InvalidateRect(RECT); je crois; faut aussi un timer (mais ca c'est pas une bonne solution)

encore une fois le basecode de Nehe fait ca impec', sans timer, avec gestion des touches et tout

je ne dis pas de faire copier coller mais ca t'expliquera comment te
dépatouiller avec les boucles Windows, moi aussi je galere avec ca....

si tu as VC6:

http://nehe.gamedev.net/counter.asp?file=files/appwizards/nehe_opengl_appwizard_vc6.zip

sinon tu me donnes ton mail je t'envoie un projet vide pour DevC++
++
_______________________


Omnia vincit labor improbus
3
Arnaud16022 Messages postés 1329 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 16 juin 2010 2
24 juin 2005 à 15:03
va voir sur le site de Nehe, il a fait un wizard pour ca.

sinon pour les images / le cube ya eu une source comme ca ya env. un mois

_______________________


Omnia vincit labor improbus
0
dletozeun Messages postés 546 Date d'inscription vendredi 13 février 2004 Statut Membre Dernière intervention 9 janvier 2008 1
24 juin 2005 à 15:29
C'est normal c'est la sienne!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Batman60 Messages postés 71 Date d'inscription samedi 21 mai 2005 Statut Membre Dernière intervention 21 octobre 2007
1 juil. 2005 à 23:31
salut
pour l'instant j'arrive à charger une texture differente sur chaque face en utilisant glbindtexture(GL_TEXTURE_2D,texname[6]);
ca j'ai capter mais pour le défilement de texture
0
Arnaud16022 Messages postés 1329 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 16 juin 2010 2
2 juil. 2005 à 11:39
comment ca pour le défilement?

ben c'est bidon quoi... a intervalle de temps régulier tu chages le 'i'
dansglBindTexture(2d,texname[i]).... c'est tout... pas de mystere...

_______________________


Omnia vincit labor improbus
0
Rejoignez-nous