Tag: 多重采样

ResolveMultisampleFramebufferAPPLE生成INVALID_OPERATION

我想不通,为什么glResolveMultisampleFramebufferAPPLE生成错误1282(0x0502, GL_INVALID_OPERATION )。 设置代码: glGenFramebuffers(1, &framebuffer); glBindFramebuffer(GL_FRAMEBUFFER, framebuffer); glGenRenderbuffers(1, &colorRenderbuffer); glBindRenderbuffer(GL_RENDERBUFFER, colorRenderbuffer); [context renderbufferStorage:GL_RENDERBUFFER fromDrawable:(id<EAGLDrawable>)self.layer]; glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_RENDERBUFFER, colorRenderbuffer); glGetRenderbufferParameteriv(GL_RENDERBUFFER, GL_RENDERBUFFER_WIDTH, &backingWidth); glGetRenderbufferParameteriv(GL_RENDERBUFFER, GL_RENDERBUFFER_HEIGHT, &backingHeight); GLenum status = glCheckFramebufferStatus(GL_FRAMEBUFFER); if(status != GL_FRAMEBUFFER_COMPLETE) { NSLog(@"failed to make complete framebuffer object %x", status); } glGenFramebuffers(1, &sampleFramebuffer); glBindFramebuffer(GL_FRAMEBUFFER, sampleFramebuffer); glGenRenderbuffers(1, &sampleColorRenderbuffer); glBindRenderbuffer(GL_RENDERBUFFER, sampleColorRenderbuffer); glRenderbufferStorageMultisampleAPPLE(GL_RENDERBUFFER, 4, GL_RGBA8_OES, backingWidth, backingWidth); […]

使用glReadPixel()与多重采样读取数据

目前我正在尝试从帧缓冲区中读取像素数据以捕获IOS中的屏幕。 使用下面的代码来设置帧缓冲区时,GlreadPixels命令工作正常。 //buffers // Create a depth buffer that has the same size as the color buffer. glGenRenderbuffersOES(1, &m_depthRenderbuffer); glBindRenderbufferOES(GL_RENDERBUFFER_OES, m_depthRenderbuffer); glRenderbufferStorageOES(GL_RENDERBUFFER_OES, GL_DEPTH_COMPONENT24_OES, width, height); // Create the framebuffer object. glGenFramebuffersOES(1, &framebuffer); glBindFramebufferOES(GL_FRAMEBUFFER_OES, framebuffer); glFramebufferRenderbufferOES(GL_FRAMEBUFFER_OES, GL_COLOR_ATTACHMENT0_OES, GL_RENDERBUFFER_OES, m_colorRenderbuffer); glFramebufferRenderbufferOES(GL_FRAMEBUFFER_OES, GL_DEPTH_ATTACHMENT_OES, GL_RENDERBUFFER_OES, m_depthRenderbuffer); glBindRenderbufferOES(GL_RENDERBUFFER_OES, m_colorRenderbuffer); glBindFramebufferOES(GL_FRAMEBUFFER_OES, framebuffer); 但是当我使用深度缓冲区和颜色缓冲多采样glreadpixels()不捕获任何像素数据像以前的代码….多采样我使用以下代码: – glGenFramebuffersOES(1, &sampleFramebuffer); glBindFramebufferOES(GL_FRAMEBUFFER_OES, sampleFramebuffer); //GLuint sampleColorRenderbuffer; glGenRenderbuffersOES(1, […]