Image 2D sur fond 3D [Résolu]

CyberP 283 Messages postés mercredi 8 janvier 2003Date d'inscription 4 juillet 2007 Dernière intervention - 3 juil. 2005 à 09:33 - Dernière réponse : dletozeun 546 Messages postés vendredi 13 février 2004Date d'inscription 9 janvier 2008 Dernière intervention
- 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
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
dletozeun 546 Messages postés vendredi 13 février 2004Date d'inscription 9 janvier 2008 Dernière intervention - 4 juil. 2005 à 11:57
3
Merci
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.

Merci dletozeun 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de dletozeun
dletozeun 546 Messages postés vendredi 13 février 2004Date d'inscription 9 janvier 2008 Dernière intervention - 3 juil. 2005 à 20:40
0
Merci
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);
Commenter la réponse de dletozeun
CyberP 283 Messages postés mercredi 8 janvier 2003Date d'inscription 4 juillet 2007 Dernière intervention - 4 juil. 2005 à 08:49
0
Merci
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
Commenter la réponse de CyberP
CyberP 283 Messages postés mercredi 8 janvier 2003Date d'inscription 4 juillet 2007 Dernière intervention - 4 juil. 2005 à 12:51
0
Merci
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
Commenter la réponse de CyberP
dletozeun 546 Messages postés vendredi 13 février 2004Date d'inscription 9 janvier 2008 Dernière intervention - 4 juil. 2005 à 16:28
0
Merci
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...
Commenter la réponse de dletozeun

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.