Sto tentando di visualizzare il buffer di profondità per scopi di debug, disegnandolo sopra il rendering effettivo quando viene premuto un tasto. Funziona principalmente, ma l'immagine risultante sembra essere ingrandita. (Non è solo l'immagine originale, in una scala di grigi dispari) Perché non ha le stesse dimensioni del buffer dei colori?Visualizzare il buffer di profondità
Questo è quello che sto utilizzando la vista del buffer di profondità:
void get_gl_size(int &width, int &height)
{
int iv[4];
glGetIntegerv(GL_VIEWPORT, iv);
width = iv[2];
height = iv[3];
}
void visualize_depth_buffer()
{
int width, height;
get_gl_size(width, height);
float *data = new float[width * height];
glReadPixels(0, 0, width, height, GL_DEPTH_COMPONENT, GL_FLOAT, data);
glDrawPixels(width, height, GL_LUMINANCE, GL_FLOAT, data);
delete [] data;
}