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
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.
Mieux que SDL : découvrez SFML
Mes tutoriels 2D/3D/Jeux/C++, Cours et tutoriels C++, FAQ C++, Forum C++.
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
Frame Z-BUFFER
![]()
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![]()
Mieux que SDL : découvrez SFML
Mes tutoriels 2D/3D/Jeux/C++, Cours et tutoriels C++, FAQ C++, Forum C++.
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.
Partager