bonjour,
je suis a la recherche d'une routine c++ permettant de relire le Z-BUFFER et de l'afficher avec un dégradé de couleur suivant la hauteur Z.
Merci
Version imprimable
bonjour,
je suis a la recherche d'une routine c++ permettant de relire le Z-BUFFER et de l'afficher avec un dégradé de couleur suivant la hauteur Z.
Merci
Qu'est-ce qui te pose problème exactement ? Tu n'as fait aucune recherche ?
Si tu ne sais pas par où commencer fais des recherches sur glReadPixels, ça devrait te donner un bon point de départ.
en fait je bloque sur glCopyPixels(200,200,400,400,GL_DEPTH);
voici le process que j'utilise :
- selection GL_FRONT
- affichage sphere
- relecture du z-buffer avec glCopyPixels
cette relecture s'affiche sur l'ecran, j'ai un cercle tout blanc, je cherche maintenant a afficher un degrader de couleur sur ce cercle blanc correspondant a une valeur du z-buffer.
voici le resultat auquel je voudrais arriver :
Frame COLOR
http://www.techlf.com/img/lapin_color.JPG
Frame Z-BUFFER
http://www.techlf.com/img/lapin_z_buffer.JPG
bonjour,
j'ai trouvé la solution a mon probleme. Vu les docs sur internet, j'ai l'impression que seule une minorité du programmeur maitrise en fait le sujet des frames buffers. Je suis donc un peu decu de ne pas avoir trouver un interlocuteur a la hauteur. Merci quand meme.
Bonne continuation.
Et bien donne la solution, ou le lien qui t'a permis de la trouver, ça permettra aux prochains de trouver leur réponse plus facilement ;)
voici le code pour relire le Z-BUFFER
// Recuperation de la profondeur
GLfloat * depth = malloc(WIDTH * HEIGHT *sizeof(GL_FLOAT));
glReadPixels (0, 0, WIDTH, HEIGHT, GL_DEPTH_COMPONENT, GL_FLOAT, depth);
Biensur les valeurs retournées dans depth sont dependantes du clipping, paramètres znear et zfar de la fonction glDepthRange. Avant d'afficher les valeurs il faut normaliser les données dans depth en cherchant le max et le min, cela permet d'exploiter toute la dynamique des couleurs.
Voila, ca parait simple au premier coup d'oeil, mais cela peut devenir complique selon l'application.