首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Iphone >

opengl es 2.0 Renderbuffer的有关问题

2013-12-13 
opengl es 2.0 Renderbuffer的问题GLint iWidth 0GLint iHeight 0iWidth self.frame.size.widthi

opengl es 2.0 Renderbuffer的问题
    GLint iWidth = 0;
    GLint iHeight = 0;
    
    iWidth = self.frame.size.width;
    iHeight = self.frame.size.height;
    glRenderbufferStorage(GL_RENDERBUFFER, GL_RGBA8_OES, iWidth, iHeight);
//    [_context renderbufferStorage:GL_RENDERBUFFER fromDrawable:_eaglLayer];

其中红颜色的两行中,用上面那行,绘制的内容就显示不出来;用下面那行,绘制的内容就能显示出来,大家帮忙看一下,什么原因啊?
[解决办法]
显然喽:
glRenderbufferStorage是开辟一块显存(是内存还是显存?这个还没搞清望解答)作为当前RenderBuffer的存储区,但这个仅仅是在显存里,并没跟实际显示在屏幕上的有关联;
而下一句,fromDrawable:_eaglLayer这就是说用这个_eaglLayer作为RenderBuffer的存储区,那么RenderBuffer上绘制出的东西当然就显示在这个_eaglLayer里了,这个layer是最终能显示在屏幕上的。
[解决办法]
最终要把renderBuffer的内容显示在屏幕上,总会要用下面那句。上面一句一般用于做离屏渲染,把renderBuffer作为后台缓冲区用。

热点排行