ok merci , c'est ce que je voulais savoir, ce n'est pas de la bidouille ce que j'ai fait, je croyais que ReadPixel permettait de lire le ColorBuffer En 3D mais non, ok Merci.
Version imprimable
ok merci , c'est ce que je voulais savoir, ce n'est pas de la bidouille ce que j'ai fait, je croyais que ReadPixel permettait de lire le ColorBuffer En 3D mais non, ok Merci.
je ne voudrait pas t'embrouiller mais glReadPixels permet aussi de lire le zBuffer (avec le paramètre format GL_DEPTH_COMPONENT)
il est possible donc de faire une capture d'écran du Z
mais encore une fois, il s'agit d'une capture d'écran, tu liras la profondeur des objets qui sont affichés
j'espère que je me fait bien comprendre et surtout que je ne t'embrouille pas ;)
merci shenron, mais j'ai perdu 3 jours avec ReadPixel 8OCitation:
Envoyé par shenron666
le seul probleme qui s'est pose pour l'export, c'est que par exemple en OpenGl, je peux lui donner des float comme indices ( et donc une sinusoide apparait commeune sinusoide) mais quand j'exporte , je ne peux exporter que des Int, et donc je perds en precision, et les dessins exportes sont tres mauvais lol
je vais voir comment je peux faire cela
c'est vraiment tordu de le faire a la main, surtout avec les formes complexes , je perds toute l'utilite des algo d'opengl pour raccorder les points et tout, devrais-je reprogrammer tout cela? 8O
est-ce que tu veux dire, que je peux faire des captures d'ecran a differentes profondeurs Z? si c'est oui c'est genial, non?Citation:
Envoyé par shenron666
pas tout à fait, tu peux faire une capture du zBuffer qui contient les valeur Z des pixels que tu as à l'écranCitation:
Envoyé par deeal
:?Citation:
Envoyé par shenron666
donc l'export de modele 3D ,et vraiment un travail a part
bon je ne sais plus ou jj'en suis loool
Merci quand meme shenron pour ton aide
salut
j'ai pense a un truc, est-il possible de generer une texture a partir de la scene, car je pense qu'une texture est plus facile a exporter?
et les frame buffer object, ca ne sera pas cela par hasard?
disant que ca me taquine, car OpenGl doit sauvegarder la valeur des pixels quelque part non? pas seulement ceux qui sont dont le viewport, n'est-ce pas? ( je ne crois pasm je crois plus qu'il fait cela a la vole quand il execute les instructions, c cela?)
sinon, sauriez vous commet rediriger les commandes OpengGL dans un Buffer que je definierai ( je crois que tu m'as propose cela shenron)
une direction question, ne serais-je pas entrain de faire du volume rendering?
Oui tu peux faire du rendu sur texture (offscreen rendering)Citation:
Envoyé par deeal
il y a plusieurs méthodes pour cela, dont glReadPixels (encore)
les FBO sont une autre possibilité, si l'extension est supportée c'est tout bénéf, surtout question rapiditéCitation:
et les frame buffer object, ca ne sera pas cela par hasard?
par contre, faire du rendu dans une texture c'est intéressant si tu veux réutiliser la texture dans ta scène ou si tu as besoin de rapidité pour du temps réel
si c'est pour faire un export à un instant t, je ne suis pas certain que ce soit intéressant
également un problème qui se pose, les texture doivent être en puissance de 2, à moins encore une fois que l'extension appropriée (support des textures non puissances de 2) te soit accessible
attention, ce n'est pas parceque l'extension est supportée que la carte traite en hardware, utiliser des textures non puissance de 2 peux faire baisser énormément ton frame rate
OpenGL ne mémorise pas chaque pixel renduCitation:
disant que ca me taquine, car OpenGl doit sauvegarder la valeur des pixels quelque part non? pas seulement ceux qui sont dont le viewport, n'est-ce pas? ( je ne crois pasm je crois plus qu'il fait cela a la vole quand il execute les instructions, c cela?)
on peut dire, je pense, qu'il effectue ses calculs à la volée comme tu dis ;)
les commandes OpenGL sont destinées, quoi qu'il arrive, au contexte OpenGL actifCitation:
sinon, sauriez vous commet rediriger les commandes OpengGL dans un Buffer que je definierai ( je crois que tu m'as propose cela shenron)
si c'est ce que tu veux, bon courage ;)Citation:
une direction question, ne serais-je pas entrain de faire du volume rendering?
en gros selon la définition que tu souhaites, il te faut un certain nombre de textures 2D qui, une fois empilées, forment un volume
ca veut dire que je ne peux faire cela avec OpneGL?Citation:
Envoyé par shenron666
car je commence a ecrire des fonction, Genre bresenham, remplissage de volume.
si je ne me trompe pas le volume rendering, c'est vraiment creer le volume ( et pas juste dessiner la surface du volume), si c cela, oui il me faut faire du volume rendering lol
t'aurais pas une idee, car la je commence a m'inquieter 8O
donc ca se peut ? une idee pour commencer? MerciCitation:
Oui tu peux faire du rendu sur texture (offscreen rendering)
il y a plusieurs méthodes pour cela, dont glReadPixels (encore)
a mon avis le volume rendering n'est ce que tu sembles croire
fais quelques recherches sur le sujet sur le net et tu verras ce que c'est
je pense que ce n'est pas ce que tu veux
enfin, dans le cas contraire on pourra en rediscuter
Tu veux exporter les informations de surface (topologie, élévation du terrain) ou un objet 3D ?Citation:
Envoyé par deeal
je ne pense toujours pas avoir compris le but que tu cherches à atteindre
disant que opengl quqnd tu lui dis de dessiner une sphere, il affiche une sphere ( c'est normal) mais si je veux faire une coupe au milieu de cette spehre , elle sera vide non?Citation:
Envoyé par shenron666
moi je veux exporter une sphere autant que volume rempli , ca veut dire avoir toutes les valeurs de pixels a l'interieur de ma sphere.
c'est plus clair maintenant?
arf bon ok, c'est un peu complexe ce que tu veux faire
bon alors les plans de coupe, OpenGL gère cela "tout seul"
seulement comme tu dis, placer un plan de coupe au milieu d'un objet montrera qu'il est vide
il existe une solution : le stencil buffer
regardes cette "démo" ATI datant de l'époque... Rage128 (tadam :mouarf:)
http://www.ati.com/developer/sdk/rag...tencilCap.html
par contre, si tu veux exporter un volume, il te faudra générer des "couches" successives et faire un rendu pour chacune d'elles
(pas forcément à l'écran, si tu fais pas de swapbuffer ça s'affiche pas)
Ah voila précisément la source du problème qui m'amène ici : j'ai besoin de l'image des profondeurs sans imposer l'affichage de l'image (surtout qu'elle serait trop grosse pour n'importe quel écran)... N'y a-t-il pas moyen de contourner, genre de simuler à OpenGL un affichage de fenêtre alors que rien ne s'affiche à l'écran ?Citation:
Envoyé par shenron666
Quelqu'un aurait essayé Mesa, cité quelques topics plus bas ?
http://www.developpez.net/forums/sho...d.php?t=130371
http://www.mesa3d.org/osmesa.html
tu m'as bien compris cher shenron ( merci de me repondre tout les jours :P ),Citation:
Envoyé par shenron666
que veux tu que je te dise mon cher shenron, je te jure que j'ai la chair de poule :D ( je suis serieux)
Merccccccccccccccciiiiiiiiiiiiiiiiiiiii, tu m'a sauve des tonnes de geometrie que j'allais me taper 9 je note cette discussion a 100 lol
maintenant il reste a savoir comment le faire
mais je crois que c'est faisable a 100%
allez merci encore pour ton aide
tu peux créer une fenêtre (tu y es obligé devrais-je dire) mais tu n'es pas obligé de l'afficherCitation:
Envoyé par BVertut
avec glut, tu crées ta fenêtre et cette dernière peux être affichée ou cachée avec glutShowWindow et glutHideWindow ;)
Sauf erreur de ma part, Mesa est une implémentation logicielle d'openglCode:Quelqu'un aurait essayé Mesa, cité quelques topics plus bas ?
deeal : de rien, on s'entraide comme on peut ;)
Merci pour ta réponse avisée ! Cela dit, il subsiste un problème avec l'utilisation du GlutHideWindow : bien que ma fenêtre ne s'affiche pas, la taille de l'image acquise par glReadPixels reste limitée par la résolution de l'écran. Au pire, je pourrais toujours essayer de générer mon image en plusieurs fois, par bloc, mais ce n'est pas très propre comme façon de faire...
Je ne suis pas certain que ce soit le cas, tu as fait un essai ?Citation:
Envoyé par BVertut
Absolument, je ne peux obtenir d'informations au-dela de 1280x1024. Cela dit, je suis arrivé à contourner ce problème en générant une série de sous-images de 512x512 (c'est assez simple vu que je travaille en projection orthogonale), et il ne reste plus qu'à réassambler correctement le puzzle.