Bonjour,
voilà je réalise un rendu d'image 3D. Mes images n'ont pas des tailles qui font pile un puissance de 2 (ex : 64*512*256)... par exemple j'en ai une qui fait 63*296*256 donc je complète par du transparent. Dans le code largeurPuiss2 vaut 512 car ma largeur réelle est de 296... je complète le reste (297 -> 512) avec des pixel ayant un alpha de 0.
J'ai un problème d'affichage : je dessine d'abord ma coupe X puis Y puis Z, j'arrive à voir X et Y à travers le transparent de Z. Mais je n'arrive qu'à voir X à travers le transparent de Y (quand ma coupe Y passe au dessus de Z, le "transparent" recouvre Z)... et je ne voit aucune coupe à travers le transparent de X !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 glTexImage2D(GL_TEXTURE_2D,0,GL_RGBA,largeurPuiss2,profondeurPuiss2,0,GL_RGBA,GL_UNSIGNED_BYTE,textureY); glBegin( GL_QUADS ); glTexCoord2f(0.0f,0.0f);glVertex3f(-halfImage,iY-halfImage,-halfImage); glTexCoord2f(1.0f,0.0f);glVertex3f(+halfImage,iY-halfImage,-halfImage); glTexCoord2f(1.0f,1.0f);glVertex3f(+halfImage,iY-halfImage,+halfImage); glTexCoord2f(0.0f,1.0f);glVertex3f(-halfImage,iY-halfImage,+halfImage); glEnd();
comme si X serait prioritaire à Y et Z. et Y prioritaire à Z...
comment puis-je faire pour que le transparent soit vraiment transparent à tout moment?
désolé si je ne suis pas clair mais c'est assez difficile de décrire![]()
Partager