Image 2D sur fond 3D

Résolu
CyberP Messages postés 283 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 4 juillet 2007 - 3 juil. 2005 à 09:33
dletozeun Messages postés 546 Date d'inscription vendredi 13 février 2004 Statut Membre Dernière intervention 9 janvier 2008 - 4 juil. 2005 à 16:28
J'ai une question peut être stupide mais comment faire pour dessiner
une image par dessus un rendu OpenGL ? Je pensais utiliser les trucs
avec bitblt mais je n'y comprends rien du tout à ces hDC et ces
CreateCompatibleBitmap et tout.

J'ai le contenu de l'image dans un tableau rgb de bytes (donc tous les 24 bits il y a un nouveau pixel)



Merci d'avance...

CyberP,
Celui qui dit que toute question a une réponse

5 réponses

dletozeun Messages postés 546 Date d'inscription vendredi 13 février 2004 Statut Membre Dernière intervention 9 janvier 2008 1
4 juil. 2005 à 11:57
comment ca systeme D ?? c'est la methode qu'il faut utiliser...

Et puis si tu precise pas dans ton post precedent que tu veux que ton image soit transparente je pouvais pas le deviner!



Donc si tu veux de la trans parence en plus c'est pas un probleme il
suffit de charger une texture au format RGBA a partir d'une image au
format TGA par exemple.
3
dletozeun Messages postés 546 Date d'inscription vendredi 13 février 2004 Statut Membre Dernière intervention 9 janvier 2008 1
3 juil. 2005 à 20:40
ben si tu veux dessiner une image en 2d sur l'écran devant une
scene 3D il faut passer en projection orthonormale 2D de cette maniere :



//on passe en mode projection

glMatrixMode(GL_PROJECTION);

//on sauve la matrice de projection precedente

glPushMatrix();

//on reset la matrice de projection

glLoadIdentity();

//on passe en mde projection 2D orthonormale

gluOrtho2D(xmin, xmax, ymin,ymax);

glMatrixMode(GL_MODELVIEW);

glPushMatrix();

glLoadIdentity();



//a partir d'ici tu affiche l'image a l'ecran en dessinant d'abord un
polygone carré sur le quel tu applique la texture de l'image que tu
veux afficher



//puis on reviens a l'etat precedent:

glPopMatrix();

glMatrixMode(GL_PROJECTION);

glPopMatrix();

glMatrixMode(GL_MODELVIEW);
0
CyberP Messages postés 283 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 4 juillet 2007 2
4 juil. 2005 à 08:49
Oui mais c'est un peu système D et on peut pas faire de transparence (à moins d'utiliser je ne sais plus quoi très compliqué)

CyberP,
Celui qui dit que toute question a une réponse
0
CyberP Messages postés 283 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 4 juillet 2007 2
4 juil. 2005 à 12:51
Non je dis système D parce qu'on affiche une image à l'écran grâce à
une texture au lieu de juste transférer le contenu de l'image.

Merci pour la réponse

CyberP,
Celui qui dit que toute question a une réponse
0

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

Posez votre question
dletozeun Messages postés 546 Date d'inscription vendredi 13 février 2004 Statut Membre Dernière intervention 9 janvier 2008 1
4 juil. 2005 à 16:28
oui je suis d'accord... il doit sans doute un autre moyen plus simple
utilisant l'API windows mais je suis pas tres calé a ce sujet...
0
Rejoignez-nous