Image 2D sur fond 3D

[Résolu]
Signaler
Messages postés
283
Date d'inscription
mercredi 8 janvier 2003
Statut
Membre
Dernière intervention
4 juillet 2007
-
Messages postés
546
Date d'inscription
vendredi 13 février 2004
Statut
Membre
Dernière intervention
9 janvier 2008
-
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

Messages postés
546
Date d'inscription
vendredi 13 février 2004
Statut
Membre
Dernière intervention
9 janvier 2008
1
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.
Messages postés
546
Date d'inscription
vendredi 13 février 2004
Statut
Membre
Dernière intervention
9 janvier 2008
1
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);
Messages postés
283
Date d'inscription
mercredi 8 janvier 2003
Statut
Membre
Dernière intervention
4 juillet 2007
2
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
Messages postés
283
Date d'inscription
mercredi 8 janvier 2003
Statut
Membre
Dernière intervention
4 juillet 2007
2
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
Messages postés
546
Date d'inscription
vendredi 13 février 2004
Statut
Membre
Dernière intervention
9 janvier 2008
1
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...