에서 제대로 작동하지 않습니다, 나는 해결책을 찾을 수 없습니다. 내가 렌더링 기능이 방법을 사용식 코멘트 내가 얼마 동안이 문제를 가지고 OSX
//Initialize buffers
glGenBuffers(1, &primaryBuffer);
glBindBuffer(GL_FRAMEBUFFER, primaryBuffer);
glGenRenderbuffers(1, &depthBuffer);
glBindBuffer(GL_RENDERBUFFER, depthBuffer);
glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT, Statics::ScreenWidth, Statics::ScreenHeight);
glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, depthBuffer);
glGenTextures(1, &colorTexture);
glBindTexture(GL_TEXTURE_2D, colorTexture);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_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);
glTexParameteri(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, GL_TRUE);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB8, Statics::ScreenWidth, Statics::ScreenHeight, 0, GL_RGB, GL_UNSIGNED_BYTE, NULL);
glGenTextures(1, &depthTexture);
glBindTexture(GL_TEXTURE_2D, depthTexture);
glTexImage2D(GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT32, Statics::ScreenWidth, Statics::ScreenHeight, 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_BYTE, NULL);
glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, depthBuffer);
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, colorTexture, 0);
int res = glCheckFramebufferStatus(GL_FRAMEBUFFER);
if (res == GL_FRAMEBUFFER_COMPLETE)
{
printf("GOOD!\n");
}
glBindFramebuffer(GL_FRAMEBUFFER, 0);
: 여기
나는 프레임 버퍼 초기화 여기 일이되어 무엇
glBindFramebuffer(GL_FRAMEBUFFER, primaryBuffer);
glViewport(0, 0, Statics::ScreenWidth, Statics::ScreenHeight);
glClear(GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT);
SetCamera();
DrawScene1();
glBindFramebuffer(GL_FRAMEBUFFER, 0);
glViewport(0, 0, Statics::ScreenWidth, Statics::ScreenHeight);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
SetCamera();
DrawScene2();
는 "장면 l"가 첨부 된 프레임 버퍼에 렌더링되는 것입니다 조직. 그리고 "scene2"가 화면에 나타나야합니다. "scene2"가 화면에 표시하지 않습니다,하지만 난 렌더링 프레임 버퍼 텍스처를 사용하는 경우,이 나타나는 것입니다 : 는
는 사람이 뭐가 잘못 말해 줄래? 나는 DrawScene1()가 DrawScene2()를 생산하고있다 무엇의 일부에 렌더링한다 동안 DrawScene2는(), 전체 장면을 렌더링해야 함을 이해 한 내용을 당신이 쓴에서
'depthTexture'의 점은 무엇인가? –
정확하게 문제가 무엇인지 말하지 않았습니다. 결과는 어떻게 생겼을 까? 문제는 텍스처의 사각형입니까? FBO와 함께'GL_GENERATE_MIPMAP'을 사용하지 마십시오. FBO 확장이 glGenerateMipmaps 함수를 도입 한 이유가 있습니다. –
출력은 문 내부의 문이라고 가정합니다. – user686776