bonjour,
Dans un premier temps, je cherche à savoir comment écrire du texte sur chaque face d'un cube avec Glscene. Quel composants doit-on utiliser pour celà (s'il y a lieu d'en utiliser).
merci par avance
Version imprimable
bonjour,
Dans un premier temps, je cherche à savoir comment écrire du texte sur chaque face d'un cube avec Glscene. Quel composants doit-on utiliser pour celà (s'il y a lieu d'en utiliser).
merci par avance
personne ne sait?
moi je sais :D
enfin non pas vraiment, je n'utilise pas GLScene, mais OpenGL sous Delphi :D
alors, le cube n'a pas de face sur laquelle on peut écrire...à moins que tu n'utilises une texture sur laquelle tu écris et que tu appliques sur les faces du cube.
tu peux aussi venir écrire un texte en 3D au même endroit que la surface du cube, ce qui présente quelques petits inconvénients...
1) tu devras jouer avec le DepthTest pour permettre au texte de s'afficher alors que le cube a déjà remplit le ZBuffer
2) si ton texte dépasse du cube, il ne sera pas tronqué.
3) il faut retrouver la position des faces du cube, ou au minimum la matrice de transformation au moment du rendu de chaque face du cube...c'est d'ailleurs parceque je trouvais OpenGL bien fait et suffisant que je ne me suis jamais embêté avec des objets GLScene :D
voir par exemple Snake3D
Je ne connais pas Glscene mais si chaque face du cube correspond au canvas d'un BitMap pour écrire en rotation sur un canvas tu peux trouver un bon exemple téléchargeable dans la discussion intitulée "[D7] comment dessiner du text le long d'un polyline" qui figure encore aujourd'hui Samedi 30 juin en page 4 du forum : telécharger le fichier DemoTextEnAngle.zip d'Eric Boisvert.:D
merci pour vos réponses.
Je porte particuliérement mon attention sur l'idée de créer un texture avec le texte sur chaque face. cependant lorsque j'applique une texture a un cube cele-ci se multiplie sur toute la surface du cube.
Prenons un exemple. Avec une image représentant un chat, appliqué a mon cube je retrouve le chat sur chaque face du cube....vous voyez le soucis.:calim2:
Alors qu'en réalité je devrai avoir le chat "étalé" sur le cube :aie: :mouarf:
c'est exactement pour cela que je n'utilise pas GLScene :DCitation:
Envoyé par fred7
je ne sais pas comment on étale une texture sur un cube GLScene, mais tu as trois millions d'exemples OpenGL :D
un cube, c'est 6 carrés, un carré c'est simple à faire sous OpenGL :D
x,y,z c'est biensur la position 3D d'un somment du cubeCode:
1
2
3
4
5
6
7 glBegin(GL_QUADS); // premier point glTexCoord2f(u,v); glVertex3f(x,y,z); // idem pour les 3 autres points ! ... glEnd();
u,v c'est la position dans la texture, en considérant que les coordonnées vont de 0 à 1 (donc 0.5 c'est la moitié)
donc ton problème se résume à ne pas donner 0 ou 1 aux valeurs (u,v) des sommets mais une valeur qu'il t'appartient de déterminer en fonction de comment tu veux afficher la texture (c'est comment un chat étalé sur un cube ?!) :D
hum hum...je comprend le raisonnement logique où la simplicité l'emporte mais.....oui il y a un "mais" et j'en suis navré :aie: lol
La raison de ce "Mais" est que j'utilise Glscene pour que mon cube soit esthétiquement au top du top....qu'il en jette un max quoi!:mouarf: (je n'utilise dailleur aucune texture).
Bref si quelqu'un connait un peu...beaucoup GLscene hé bien qu'il se manifeste:calim2: :mrgreen:
D'autre part l'utilisation d'openGl sous delphi m'interesse quels composants faut-il?
merci
ps: un chat étalé sur un cube ça ressemble à rien! sauf à un chat étalé sur un cube lol:mrgreen: :mouarf: :aie:
lol, y'a pas de composant, c'est juste un "uses OpenGL" :DCitation:
Envoyé par fred7
pour utiliser des composants, il faut regarder du côté de ... GLScene :D
J'ai peur de ne pas faire avancer le schmilblic... Mais moi j'aimerai afficher une image différente sur chaque face du cube ( 6 faces, 6 chats différents;) )...
Es-ce possible ?
P.S.: j'ai utilisé un peu GLScene mais j'ai vite abandonné, car c'est un peu compliqué, et surtout le projet à l'air un peu à l'abandon...
Voilà, à plus!
Ca c'est pas compliquer vu que c'est ce que je cherche à évité.... en fait il suffit juste d'appliquer ta texture au cube et c'est tout.Citation:
Mais moi j'aimerai afficher une image différente sur chaque face du cube ( 6 faces, 6 chats différent
Voilà ce sujet aura au moin aide quelqu'un lol8-)
Au passage je suis inscrit sur delphi fr et j'ai pas trouver grand chose capable de résoudre mon probléme...snif