1
我一直在嘗試使用glReadPixels
讀取浮動數據幾天。如何使用glReadPixels讀取浮動數據
我cpp的代碼:
//expanded to whole screen quad via vertex shader
glDrawArrays(GL_TRIANGLES, 0, 3);
int size = width * height;
GLfloat* pixels = new GLfloat[ size ];
glReadPixels(0, 0, width, height, GL_RED, GL_FLOAT, pixels);
pixelVector.resize(size);
for (int i = 0; i < size; i++) {
pixelVector[i] = (float) pixels[i];
}
和我着色器代碼:
out float data;
void main()
{
data = 0.02;
}
奇怪的是,我得到0.0196078作爲輸出。但是當數據爲0.2時,一切都很好。如果數據是0.002,則全爲0。什麼可能導致這種情況?
這很有道理。謝謝。 – tayrak