편집 : 는 텍스처에 렌더링하는 동안프레임 버퍼 객체 생성 오류
나는 문제가 발생하여 해결했다. 나는이 같은 프레임 버퍼 객체를 생성 :
이glGenTextures(1, &renderFBOtex);
glBindTexture(GL_TEXTURE_2D, renderFBOtex);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, 0);
glBindTexture(GL_TEXTURE_2D, 0);
glGenRenderbuffers(1, &renderFBOrender);
glBindRenderbuffer(GL_RENDERBUFFER, renderFBOrender);
glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT16, width, height);
glBindRenderbuffer(GL_RENDERBUFFER, 0);
glGenFramebuffers(1, &renderFBO);
glBindFramebuffer(GL_FRAMEBUFFER, renderFBO);
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, renderFBOtex, 0);
glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, renderFBOrender);
GLenum status = glCheckFramebufferStatus(GL_FRAMEBUFFER);
glBindFramebuffer(GL_FRAMEBUFFER, 0);
그러나 glCheckFrambufferStatus
의 반환 값은 항상 GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT
입니다.
Renderbuffer 첨부 파일이 없어도 질감이 문제 인 것 같습니다. 프레임 버퍼 자체에 드로잉하는 것이 문제가되어서는 안됩니다.
누군가 내가 여기에없는 것을 지적 할 수 있습니까?
glFramebufferTexture2D(GL_DRAW_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, renderFBOtex, 0);
^^^^
기술적으로는 그들이 어떤 차이가 없어야하지만, 일부 드라이버는이 버그를 가지고 있습니다
나는 이미 그것을 시도했다. 문서에 따르면 GL_DRAW_FRAMEBUFFER와 GL_FRAMEBUFFER는 동일하며 아무 것도 변경하지 않는 것 같습니다. 어쨌든 고마워요 ... – lukashko
@ user1076104 : 예, 동등한 의미는 "차이가 없다"는 의미였습니다. 그러나 일부 드라이버는 버그가있었습니다. – datenwolf
미안하지만, 처음에는 당신이 그것을 썼다는 것을 간과했습니다. (충고를 구하면서 내 편이 꽤 어리 석다). – lukashko