グラフィック エンジン (遅延レンダリング) に HDR を実装しており、画像の平均輝度 (RGBA16F) を計算する必要があります。ミップマップを生成してから、最小のミップマップ (1x1) を読み取ります。
glBindTexture(GL_TEXTURE_2D, hdrTex);
glGenerateMipmap(GL_TEXTURE_2D);
glGetTexImage(GL_TEXTURE_2D, level, GL_RGBA, GL_FLOAT, data);
glBindTexture(GL_TEXTURE_2D, 0);
glm::vec3 color = glm::vec3(data[0], data[1], data[2]);
float avgLum = glm::dot(color, glm::vec3(0.2125, 0.7154, 0.0721));
(カメラを動かしたときに) data[0]、data[1]、および data[2] に 1.#QNAN が含まれることがあることに気付きました。なんで ?それを修正する方法は?