나는 flo30 데이터를 이틀 동안 glReadPixels
으로 읽으려고했습니다.어떻게 glReadPixels로 float 데이터를 읽을 수 있습니까
내 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