[OpenGL] trou dans un rectangle

trou dans un rectangle [OpenGL] - C++ - Programmation

Marsh Posté le 09-04-2003 à 13:35:50    

Bonjour, je voudrais faire un truc tout con : une fenetre dans un mur. J'ai le mur et la jolie texture qui va avec ( pas trop dur jusqu'ici ;-) ) mais j'aimerais qu'il y ai une ouverture rectangulaire au milieu. Est ce possible de d'abord dessiner le mur avec la texture et ensuite de definir le "trou" ?
Merci de votre aide.

Reply

Marsh Posté le 09-04-2003 à 13:35:50   

Reply

Marsh Posté le 09-04-2003 à 13:42:37    

tomwy a écrit :

Bonjour, je voudrais faire un truc tout con : une fenetre dans un mur. J'ai le mur et la jolie texture qui va avec ( pas trop dur jusqu'ici ;-) ) mais j'aimerais qu'il y ai une ouverture rectangulaire au milieu. Est ce possible de d'abord dessiner le mur avec la texture et ensuite de definir le "trou" ?
Merci de votre aide.


Ben j'ai pas trop de souvenir en OpenGl, mais d'un point de vue strictement méthodologique, la méthode consitant à faire un mur puis à ajouter le trou ne me parais la meilleurs qui soit ( je me trompe peut être ). Je veux dire, quand dans la vrai vie tu construit un mur avec une fenêtre, tu fais pas un mur que tu casse ensuite pour y ajouter la fenetre ( généralement )...
La meilleurs solution me semble tout de même de construire ton mur par "brique", mais il y a peut être une solution plus élégante en OpenGl ?

Reply

Marsh Posté le 09-04-2003 à 13:47:57    

J'ai pensé a ca mais apres il faut appliquer la texture sur chaque partie du mur et elle n'est pas uniformement repartie.
Il doit bien y avoir une solution.  

Reply

Marsh Posté le 09-04-2003 à 13:50:18    

dessiner ta fenetre dans le stencil buffer, puis dessiner le mur en prenant garde a n'ecrire dans le color buffer que la ou le stencil buffer est non-ecrit
 
perso je referais mon mur avec un trou dedans plutot que de me casser la tete la dessus


Message édité par chrisbk le 09-04-2003 à 13:50:39
Reply

Marsh Posté le 09-04-2003 à 13:54:44    

chrisbk a écrit :

dessiner ta fenetre dans le stencil buffer, puis dessiner le mur en prenant garde a n'ecrire dans le color buffer que la ou le stencil buffer est non-ecrit
 
perso je referais mon mur avec un trou dedans plutot que de me casser la tete la dessus


 
Oula c quoi ces buffers ? Je debute en opengl, je vais faire des recherches pour en savoir plus.

Reply

Marsh Posté le 09-04-2003 à 13:57:22    

tomwy a écrit :


 
Oula c quoi ces buffers ? Je debute en opengl, je vais faire des recherches pour en savoir plus.


 
Color buffer   : ce qui est affiche a l'ecran
Z-Buffer       : tri de profondeur
Stencil-buffer : Bonne question. Sert un peu pour tout, par exemple pour ce genre d'exclusion

Reply

Marsh Posté le 09-04-2003 à 14:06:07    

En fait si je comprend bien il faudrait que je mette des 0 dans le color buffer pour les points que je ne veut pas afficher ( les points de ma fenetre en l'occurence ).
 
Comment trouver un point dans le buffer a partir de ses coordonnées ?

Reply

Marsh Posté le 09-04-2003 à 14:09:41    

tomwy a écrit :

En fait si je comprend bien il faudrait que je mette des 0 dans le color buffer pour les points que je ne veut pas afficher ( les points de ma fenetre en l'occurence ).
 
Comment trouver un point dans le buffer a partir de ses coordonnées ?


 
Laisser tomber ces méthodes totalement fantaisistes ( :pt1cable: ) : Définis un objet 3d rectangulaire avec un trou, c'est 10000x plus simple.


---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran
Reply

Marsh Posté le 09-04-2003 à 14:11:41    

nan
-tu clear le stencil
-tu active l'ecriture dans stencil (incrementation), tu desactive l'ecriture dans le colorbuffer
-tu dessine la fenetre. REsultat : rien dans le colorbuffer, par contre t'as la silhouette remplie de la fenetre dans le stencil
-desactive ecriture dans stencil, active ecriture dans color, active test sur stencil de facon a ce qu'un point soit ecrit dans le colorbuffer que si sa valeur associee dans le stencil est nulle
-dessin du mur : a l'endroit de ta fenetre tu auras un trou
 
 

Citation :


Comment trouver un point dans le buffer a partir de ses coordonnées ?


 
Si jamais tu vise le realtime, oublie toute suite l'idee d'ecrire "a la main" dans les differents buffer. OGL permet ce genre de sport, mais ce n'est clairement pas une bonne chose. Utilise les fonctions de dessins d'ogl (glBegin pour la plus simple)
 
 
 

Reply

Marsh Posté le 09-04-2003 à 14:12:31    

Tetragrammaton IHVH a écrit :


 
Laisser tomber ces méthodes totalement fantaisistes ( :pt1cable: ) : Définis un objet 3d rectangulaire avec un trou, c'est 10000x plus simple.


 
je sais bien, c aussi ce que lui ai dit, mais bon je propose uen solution exacte en tenant compte des donnees initiales :O[:spamafote]

Reply

Marsh Posté le 09-04-2003 à 14:12:31   

Reply

Marsh Posté le 09-04-2003 à 14:12:35    

Tetragrammaton IHVH a écrit :


 
Laisser tomber ces méthodes totalement fantaisistes ( :pt1cable: ) : Définis un objet 3d rectangulaire avec un trou, c'est 10000x plus simple.


 :)  
Oui justement c ce que j'aimerais faire : definir un objet rectangulaire avec un trou, et par la meme occasion que la texture soit bien repartie dessus. Mais comment je fais ???

Reply

Marsh Posté le 09-04-2003 à 14:15:40    

tomwy a écrit :


 :)  
Oui justement c ce que j'aimerais faire : definir un objet rectangulaire avec un trou, et par la meme occasion que la texture soit bien repartie dessus. Mais comment je fais ???


 
De la même manière que tu créés tous tes autres objets 3D : avec un éditeur de meshes.


---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran
Reply

Marsh Posté le 09-04-2003 à 14:19:09    

Tetragrammaton IHVH a écrit :


 
De la même manière que tu créés tous tes autres objets 3D : avec un éditeur de meshes.


 
mmm bon ca va etre surement plus simple. Un editeur de meshes c quoi ? genre 3Dstudio ?
 
En fait je pensais qu'il y avait un moyen tout con de faire un trou mais bon ...
 
Sinon juste une petite question : tout ce qui est dessiné dans le stencil n'apparait pas a l'ecran c ca ?

Reply

Marsh Posté le 09-04-2003 à 14:20:15    

tomwy a écrit :


 
mmm bon ca va etre surement plus simple. Un editeur de meshes c quoi ? genre 3Dstudio ?
 
En fait je pensais qu'il y avait un moyen tout con de faire un trou mais bon ...
 
Sinon juste une petite question : tout ce qui est dessiné dans le stencil n'apparait pas a l'ecran c ca ?


ouaip 3ds
 
seul le color buffer apparait a l'ecran (je crois que je t'ai embrouille, moi [:ddr555])

Reply

Marsh Posté le 09-04-2003 à 14:25:55    

chrisbk a écrit :


ouaip 3ds
 
seul le color buffer apparait a l'ecran (je crois que je t'ai embrouille, moi [:ddr555])


 
Non j'ai vu des exemple sur le stencil buffer, ca a l'air interessant.
 
Sinon ya pas des petits editeurs plus leger que 3dStudio car le temps que j'effectue l'achat de ce logiciel par internet  :D  ca va être un peu long.

Reply

Marsh Posté le 09-04-2003 à 14:27:09    

tomwy a écrit :


 
Non j'ai vu des exemple sur le stencil buffer, ca a l'air interessant.
 
Sinon ya pas des petits editeurs plus leger que 3dStudio car le temps que j'effectue l'achat de ce logiciel par internet  :D  ca va être un peu long.


 
Milkshape3D est pas mal pour débuter.


---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran
Reply

Marsh Posté le 09-04-2003 à 14:30:01    

Tetragrammaton IHVH a écrit :


 
Milkshape3D est pas mal pour débuter.


 
Ok merci. Mais comment je charge l'objet apres dans mon prog ? Je suis limité au langage C et a glut.

Reply

Marsh Posté le 09-04-2003 à 14:32:45    

tomwy a écrit :


 
Ok merci. Mais comment je charge l'objet apres dans mon prog ? Je suis limité au langage C et a glut.


 
Il y a une 30aine de formats d'export dans Milkshape3D.  
Il me semble que tu peux exporter en code C direct pour faire tes tests mais il faudra bien que tu utilises un format pour tes objets lorsque tu dépasseras le stade des tests.


Message édité par Tetragrammaton IHVH le 09-04-2003 à 14:33:32

---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran
Reply

Marsh Posté le 09-04-2003 à 14:39:00    

Tetragrammaton IHVH a écrit :


 
Il y a une 30aine de formats d'export dans Milkshape3D.  
Il me semble que tu peux exporter en code C direct pour faire tes tests mais il faudra bien que tu utilises un format pour tes objets lorsque tu dépasseras le stade des tests.


 
Ok merci pour votre aide.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed