iOS 장치 (iPad)에서 glRenderbufferStorage를 통해보기를 명시 적 저장소에 백업하는 CAEAGLLayer에서 렌더 버퍼의 저장소를 변경하기로 결정했습니다. 안타깝게도 다음 코드는 유효한 FBO를 가져 오지 못합니다. 누군가가 내가 놓친 무엇? 말해 주시겠습니까왜 iOS에서 glRenderbufferStorage가 실패한 것 같습니까?
glGenFramebuffers(1, &m_framebuffer);
glBindFramebuffer(GL_FRAMEBUFFER, m_framebuffer);
glGenRenderbuffers(1, &m_colorbuffer);
glBindRenderbuffer(GL_RENDERBUFFER, m_colorbuffer);
GLsizei width = (GLsizei)layer.bounds.size.width;
GLsizei height = (GLsizei)layer.bounds.size.height;
glRenderbufferStorage(m_colorbuffer, GL_RGBA8_OES, width, height);
glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_RENDERBUFFER, m_colorbuffer);
참고 :
는 레이어의 크기가 유효하고 올바른 . 이것은 실용적인 렌더링 코드 작업입니다.
glRenderbufferStorage(...)
이전에 내가 한 :
glRenderbufferStorage
의 첫 번째 인수는
GL_RENDERBUFFER
하지
m_colorbuffer
해야
[m_context renderbufferStorage:GL_RENDERBUFFER fromDrawable:layer]
레이어하기에 정답은'[context renderbufferStorage]'를'glRenderbufferStorage (...)'호출로 대체 할 수 없기 때문입니다. – bobobobo