(1)First:
glGenFramebuffers(1,&fbo);
glBindFramebuffer(GL_FRAMEBUFFER,fbo);
glGenTextures(1,&colorTexture);
glBindTexture(GL_TEXTURE_2D,colorTexture);
glTexImage2D(GL_TEXTURE_2D,0,GL_RGBA32UI,RANGE,RANGE,0,GL_RGBA_INTEGER,GL_UNSIGNED_INT,NULL);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,GL_CLAMP);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_T,GL_CLAMP);
glFramebufferTexture2D(GL_FRAMEBUFFER,GL_COLOR_ATTACHMENT0,GL_TEXTURE_2D,colorTexture,0);
(2)then in fragment shader:
#version 440
layout(location = 0) out uvec4 rgba0;
void main()
{
uint p=111u;
rgba0=uvec4(p,p,p,p);
return;
}
(3)last read from texture into memory:
glBindFramebuffer(GL_FRAMEBUFFER,fbo);
glReadBuffer(GL_COLOR_ATTACHMENT0);
unsigned int colorTextureInMemArr[RANGERANGE4];
memset(colorTextureInMemArr,0,sizeof((colorTextureInMemArr,0,sizeof));
glReadPixels(0,0,RANGE,RANGE,GL_RGBA,GL_UNSIGNED_INT,colorTextureInMemArr);
But colorTextureInMemArr is all 0… Can you tell me where is wrong or how to solve it? Thank you