2012-12-09 5 views
0

iPhone 4, iOS 6.0.1에서 작업 중입니다. 메인 FBO와 다른 크기의 오프 스크린 FBO를 만들고 있습니다.iPhone에서 오프 스크린 FBO

glGenRenderbuffers(1, &_colorRenderBuffer); 
glBindRenderbuffer(GL_RENDERBUFFER, _colorRenderBuffer); 
glRenderbufferStorage(GL_RENDERBUFFER, GL_RGBA, cxFBO, cyFBO); 

glGenFramebuffers(1, &_frameBufferID); 
glBindFramebuffer(GL_FRAMEBUFFER, _frameBufferID); 
glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_RENDERBUFFER, _colorRenderBuffer); 

glGenTextures(1, &_fboTextureID); 
glBindTexture(GL_TEXTURE_2D, _fboTextureID); 
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); 
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, cxFBO, cyFBO, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL); 
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, _fboTextureID, 0); 

그때 glBindFramebuffer(GL_FRAMEBUFFER, _frameBufferID)를 호출 후 드로잉 해요 : 나는 cxFBO과 cyFBO 메인 FBO의 두 배 크기 곳, 그렇게하려면 다음 코드를 사용합니다. 셰이더를 사용하여 전체 드로잉 루틴을 게시하고 싶지 않습니다. 나는 특별한 일을하지는 않을 것이라고 생각하지만, 그것이 중요하다고 생각하면 짧은 예를 게시 할 것입니다. 문제는 텍스처의 4 분의 1 만 정점으로 채우고 다른 3/4은 glClearColor()으로 설정된 색상입니다.

내가 뭘 잘못하고 있니? 나는 특히 형식에 대해 다소 혼란 스럽다. 즉, GL_RGBA. 오히려 GL_RGBA_OES을 사용해야합니까? 어디에나?

답변

0

문제점은 glViewPort()를 호출하는 것을 잊었습니다. 생각해 보면 분명합니다 .-)

관련 문제