我使用的OpenGL(LWJGL)Java包裝我得到獲取不完整的FBO設置GL_RGBA16F紋理格式
GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT
狀態時,如果設置了FBO的質感附件格式是GL_RGBA16F.In其實只要不是GL_RGBA導致此錯誤。 這裏是我的FBO紋理設置:
glBindTexture(GL_TEXTURE_2D, texId);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA16F, _width, _height, 0, GL_RGBA, GL_FLOAT, (ByteBuffer) null);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glBindFramebuffer(GL_FRAMEBUFFER, _frameBuffer);
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, texId, 0);
glDrawBuffers(GL_COLOR_ATTACHMENT0);
這裏是深度附件:
_depthBuffer = glGenRenderbuffers();
glBindRenderbuffer(GL_RENDERBUFFER, _depthBuffer);
glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT24, _width, _height);
glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, _depthBuffer);
UPDATE:
事實上,如果我換的內部格式和格式像這樣的地方: GL_RGBA,GL_RGBA16F 比FBO完成ok.But在我看到的用法的例子是GL_RGBA16Fgoes第一。
UPDATE1: 到目前爲止沒有得到來自上LWJGL forum.Also任何答案提交這個問題作爲一個錯誤,但也得到了來自開發無人接聽team.If別人可以測試與質感附件使用浮點格式的FBO並報告完整性是否可以很好。目前我認爲我的代碼中沒有錯誤。我還在2臺機器上測試過它,並得到了相同的結果。
您沒有將此獎勵給幫助您找到問題的人的任何特定原因?這不是你的運動。 – 2012-10-07 20:51:00
如果你仔細閱讀他的回答和我的意見,你可以看到他提出的解決方案不是正確的。我也失去了獎勵,所以我沒有興趣從任何人那裏「偷走」它:) – 2012-10-07 21:27:54
正如他所說: GL_RGBA16F在OpenGL 3.3中不可用,也許這是你的問題?「對我來說似乎很清楚。他協助你找到你的問題。給他看點似乎是公平的。但是無所謂。 – 2012-10-07 21:33:51