Accueil > Forum > > > > Polygone au premier plan avec texte
Polygone au premier plan avec texte
mercredi 28 juin 2006 à 18:50:04 |
Polygone au premier plan avec texte

nisaloncaje
|
Bonjoru, je suis débutant en OpenGL et j'ai une scène en 3d en perspective. J'aimerais maintenant créer un polygone en 2d qui soit au premier plan (comme dans les fps par exemple où on voit un symbole indiquant la vie, et du texte affichant le nombre de munitions restantes), ainsi que du texte. Pour le texte j'ai "partiellement" réussi en faisant ceci :
une fonction : void txt2d(float x,float y,float z,void *font,char *string) { glDisable (GL_TEXTURE_2D); glDisable(GL_DEPTH_TEST);
glDisable(GL_LIGHTING); glEnable ( GL_COLOR ); glColor3f ( 1.0f, 1.0f, 1.0f ); glRasterPos2f(x,y); while(*string) { glutBitmapCharacter(font, *string); string++; cout<<*string<<endl; }
glDisable ( GL_COLOR ); glEnable ( GL_TEXTURE_2D ); glEnable(GL_LIGHTING); glEnable(GL_DEPTH_TEST); }
et dans la fonction d'affichage txt2d(1.0f,1.0f,1.0f,GLUT_BITMAP_TIMES_ROMAN_24,"Hello");
Cependant, j'ai mis ces coordonnées un peu au hasard mais j'aimerais en fait pouvoir choisir les coordonnées du pixel à l'écran donc les coordonnées 2d, plutôt que celles ci qui correspondent, je pense (vu que quand je bouge la caméra, le texte se déplace) aux coordonnées dans la 3d.
Comment faire pour le polygone et le texte ?
Merci d'avance !
|
|
mercredi 28 juin 2006 à 22:27:39 |
Re : Polygone au premier plan avec texte

luhtor
|
Ben dans ta fonction, faut que tu appelles les fonctions pour changer la perspective et passer en 2D.
|
|
jeudi 29 juin 2006 à 09:47:08 |
Re : Polygone au premier plan avec texte

Jeanlaffreu
|
je connais pas trop pour OpenGL, mais je crois que pour faire un "tableau de bord" avec des infos à l'écran, il vaut mieux utiliser un plan stencil. Les pixels de ta vue 3D seront testés pour être sûr que ta vue 3D ne se dessine pas par dessus ton tableau de bord. Aprés pour les détails... a+
|
|
jeudi 29 juin 2006 à 10:21:23 |
Re : Polygone au premier plan avec texte

luhtor
|
Nonon Jeanlaffreau, apres voir afficher ta scène 3D. Tu peux par
exemple désactiver le Zbuffer et tracer le tableau de bord en
perspective 2D.
Sinon nisaloncaje, voici un exemple dans lequel j'affichais un texte fixe sur l'écran:
La fonction d'afficachage
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
Draw_scene();
Draw_2D(); // <= Affichage du texte
glutSwapBuffers();
glFlush();
Et voici la fonction Draw_2D:
glLoadIdentity();
glDisable(GL_DEPTH_TEST);
glMatrixMode(GL_PROJECTION);
glPushMatrix();
glLoadIdentity();
gluOrtho2D(0.0, viewport[2], 0.0, viewport[3]); //
On initialise la projection de façon a ce que les coordonnées
correspondent au pixel
glColor3f(1.0f, 1.0f, 1.0f);
glRasterPos2f(10.0f, viewport[3] - 20.0f); // <= en haut a gauche par rapport au bord de la fenetre
drawString("INSER - Prendre une photo");
glRasterPos2f(10.0f, viewport[3] - 40.0f); // Pareil
drawString("HOME - Filmer");
glPopMatrix();
glEnable(GL_DEPTH_TEST);
Avec viewport qui est un tableau de 4 entier contenant notamment les dimensions de la fenetre d'affichage:
GLint viewport[4];
glGetIntegerv( GL_VIEWPORT, viewport );
|
|
jeudi 29 juin 2006 à 10:54:31 |
Re : Polygone au premier plan avec texte

nisaloncaje
|
ok merci, mais la fonction drawstring est une fonction d'opengl ou une fonction que vous déclarez et définissez vous meme ?
Sinon j'ai pas bien compris comme tracer la scène en perspective 2d : la simple désactivation du z buffer le permet ? et si oui, comment définir les coordonnées du polygone , sont ce les coordonnées des pixels ou je veux que soit le polygones ? Quelles coordonnées ? Voila encore une fois merci d'avance :)
|
|
jeudi 29 juin 2006 à 13:10:16 |
Re : Polygone au premier plan avec texte

luhtor
|
Mise en 2D:
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0.0, viewport[2], 0.0, viewport[3]); // On initialise la
projection de façon a ce que les coordonnées correspondent
Si tu piges pas ca, je peux pas lire les tutoriaux opengl a ta place.
Fonction DRAWSTRING:
void drawString (char *s)
{
unsigned int i;
for (i = 0; i < strlen (s); i++)
glutBitmapCharacter (GLUT_BITMAP_HELVETICA_18, s[i]);
};
|
|
jeudi 29 juin 2006 à 13:11:31 |
Re : Polygone au premier plan avec texte

luhtor
|
Mais j'ai pas précisé que ta méthode ou celle que je te présente la
(c'est la meme en gros) pour afficher du texte, c'est de la mrd totale.
Utilise ca seulement si les performances sont la dernière de tes
préoccupations.
|
|
jeudi 29 juin 2006 à 15:00:26 |
Re : Polygone au premier plan avec texte

nisaloncaje
|
et si les performances ne sont pas les dernieres de mes préoccupations, je fais comment ? 
|
|
jeudi 29 juin 2006 à 21:14:19 |
Re : Polygone au premier plan avec texte

nisaloncaje
|
et aussi, dites moi s'il est possible que le polygone au premier plan soit légèrement transparent afin que l'on puisse voir la scène derrière (j'ai bien essayé glColor4f(0.2,0.2,0.2,0.5); mais cela n'a pas marché):(
|
|
Cette discussion est classée dans : texte, gl, 2d, polygone, 0f
Répondre à ce message
Sujets en rapport avec ce message
ecrire du texte 2d sur anim 3d [ par jojomillenium ]
Bonjour, J'ai une fenetre OpenGL sur laquel se dessine des briques en 3D. La souris permet de tourner autour, zoomer, translater... bref les fonctions
problème de transparence sur texture opengl [ par Batman60 ]
bonsoirla transparence sur la texture tga ne s'affiche pas, pourtant j'utilise le code ci-dessous et je ne vois pas quoi d'autre à ajouter ou modifier
PB POUR LA GESTION MULTIFENETRES [ par algeros ]
Voici un code :////////////////////////////////////////////////////////////////// // Name:
Probleme d'alpha avec SDL_ttf [ par vladisback ]
Je suis entrain de m'arracher les cheuveux avec SDL_ttf, j'essai simplement d'afficher du texte de n'importe quelle couleur opaque sur un fond transpa
bitmap avec SDL_image? [ par Batman60 ]
Bonjour Comment afficher des bitmaps correctement(bonnes couleurs,et image non inversée) avec ce code (SDL_ima
Problème d'affichage de texture [ par Turok ]
Bonjour,Alors voila le problème est simple, voici un code que j'utilise pour afficher une simple image 2d en utilisant OpenGl et SDL, mais celui ci ne
Problème avec la caméra [ par Turok ]
Bonjour, Dans mon programme, je souhaite zoomer ou deplacer la camera suivant si je déplace un slider pour le zoom ou si j'appui sur le bouton déplace
Texture transparente [ par F0ra ]
Bonjour,Je voudrais aff
[OpenGL] rotation [ par F0ra ]
Bonjour,J'ai un problème pour réaliser une rotation en OpenGL au centre du rectangle.J'ai esayé avec glRotatef(ang,0.0,0.0,1.0); le problème l'origni
[Débutant][OpenGL ES] Problème affichage textures [ par Niicoo ]
Bonjour tout le monde,Je dois faire un jeu en OpenGL ES (Objective-c) pour IPhone.Je dois afficher une texture sur un carré (2D). Ça pas de soucis, j'
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|