我喜欢将深度纹理作为颜色附件附加到帧缓冲区。 (我在iOS和支持GL_OES_depth_texture)作为颜色附件的深度纹理
所以我设置这样的结构:
glGenTextures(1, &TextureName);
glBindTexture(GL_TEXTURE_2D, TextureName);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
glTexImage2D(GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT, ImageSize.Width, ImageSize.Height, 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_SHORT, 0);
glGenFramebuffers(1, &ColorFrameBuffer);
glBindFramebuffer(GL_FRAMEBUFFER, ColorFrameBuffer);
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, TextureName, 0);
但现在,如果我检查的帧缓冲状态,我得到一个GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT
我在做什么这里错了吗?
我也尝试了一些组合,带GL_DEPTH_COMPONENT16
,GL_DEPTH_COMPONENT24_OES
,GL_DEPTH_COMPONENT32_OES
但这些非工作(GL_OES_depth24也支持)
*“我在这做错了什么?”* - 完全是这样的:*“我想将深度纹理作为颜色附件附加到帧缓冲区。”*。 – 2013-04-24 15:32:46