我喜歡將深度紋理作爲顏色附件附加到幀緩衝區。 (我在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