bonjour, je voudrais afficher des informations (texte) sur des plans dans l'espace, avez-vous des idées ?
Je pensais faire une image et la mapper sur le plan mais je trouve ça lourd.
bonjour, je voudrais afficher des informations (texte) sur des plans dans l'espace, avez-vous des idées ?
Je pensais faire une image et la mapper sur le plan mais je trouve ça lourd.
En gros tu as des équations de plan et tu veux les visualiser avec un petit rendu sympa ?
Moi je ne vois pas bien d'autre solution que d'effectivement dessiner un triangle ou quelque chose en 2D dans ce plan... Peut-être afficher les vecteurs du repère du plan aussi...
pas vraiment, ça je sais faire à peu près . Pour faire simple je faire faire quelque chose dans l'esprit de coverflow. Admettons que j'ai mes titres, nom d'artistes...etc, et que ceux-ci soient des chaines de caractères. Je veux mettre celles-ci sur des plans dans l'espace.
Ça semble une bonne idée.Je pensais faire une image et la mapper sur le plan mais je trouve ça lourd.
Une solution pour faire ça est de faire du rendu dans une texture que tu auras plaquée sur ton quadrilatère.
Tu peux le faire à l'aide d'un Frame Buffer Object, pour un rendu direct (ne fonctionne pas sur les cartes les plus vieilles).
Ou en effectuant un rendu dans le backbuffer, et en le recopiant dans la texture (moins performant, mais plus portable).
Je n'arrive pas a mapper ma texture, voici mon code opengl :
d->texture est défini comme :
Code : Sélectionner tout - Visualiser dans une fenêtre à part unsigned char texture[TAILLE_JPG][TAILLE_JPG][3];
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 glPushMatrix(); loadJpegImage("test.jpg",d); glTexImage2D(GL_TEXTURE_2D,0,GL_RGB,TAILLE_JPG,TAILLE_JPG,0,GL_RGB,GL_UNSIGNED_BYTE,d->texture); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); glEnable(GL_TEXTURE_2D); glTranslatef(0.2,0.15+translation,0.0); glRotatef(sens*d->spin,0.0, 0.0, 1.0); glScaled(1.0,1.0,1.0); glScaled(scale,scale,scale); glColor4f(1.0,1.0,0.0,1.0); glRectf(-0.5,-0.5,0.5,0.5); glPopMatrix();
c'est bon, j'ai modifié mon comme comme suit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 glPushMatrix(); glGenTextures(2, &nom_tex); glBindTexture(GL_TEXTURE_2D, nom_tex); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); glTexImage2D(GL_TEXTURE_2D,0,GL_RGB,TAILLE_JPG,TAILLE_JPG,0,GL_RGB,GL_UNSIGNED_BYTE,d->texture2); glColor4f(1.0,1.0,1.0,1.0); glTranslatef(0.0,translation,0.0); glRotatef(90,0.0, 0.0, 1.0); glRotatef(-d->spin,0.0, 1.0, 0.0); glScaled(1.0,sens,1.0); glScaled(scale,scale,scale); glBegin(GL_POLYGON); glNormal3f(1.0,0.0,0.0); glTexCoord2f(0.0,1.0); glVertex3f( 0.5, 0.5, 0.0); glTexCoord2f(0.0,0.0); glVertex3f( 0.5,-0.5, 0.0); glTexCoord2f(1.0,0.0); glVertex3f( -0.5,-0.5,-0.0); glTexCoord2f(1.0,1.0); glVertex3f( -0.5, 0.5,-0.0); glEnd(); glPopMatrix();
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager