iOS OpenGL renderbufferStorage:fromDrawable 方法详解
来源:互联网 发布:js多个异步请求结果 编辑:程序博客网 时间:2024/05/24 04:09
iOS OpenGL renderbufferStorage:fromDrawable 方法详解
iOS中OpenGL的渲染流程之前已经介绍过此处不再介绍。
点击参考OpenGL iOS端渲染流程
renderbufferStorage:fromDrawable:
作用:将可绘制对象的存储绑定到OpenGL ES renderbuffer对象。
Declaration
- (BOOL)renderbufferStorage:(NSUInteger)target
fromDrawable:(id<EAGLDrawable>)drawable;
Parameters
target OpenGL ES绑定点用于当前绑定的renderbuffer。该参数的值必须是GL_RENDERBUFFER(或者GL_RENDERBUFFER_OES在OpenGL ES 1.1上下文中)。
drawable 管理renderbuffer的数据存储的对象。在iOS中,此参数的值必须是一个 CAEAGLLayer 对象。
Return Value YES if successful; otherwise, NO.
函数的内部实现流程
为了创建一个可以呈现给屏幕的renderbuffer,您可以绑定renderbuffer,然后通过调用此方法为其分配共享存储空间。此方法调用是为了替换正常情况下的glRenderbufferStorage方法(对于非iOS平台的其他平台)。其存储已分配了此方法的renderbuffer可以随后通过调用glRenderbufferStorage函数来显示数据。
一个通过renderbufferStorage:fromDrawable 方法来分配存储空间的renderbuffer可以在之后通过调用 presentRenderbuffer:来显示renderbuffer的内容。
宽度,高度和内部颜色缓冲区格式是从CAEAGLLayer对象的属性中导出的。在调用此方法之前,可以通过在可绘制对象的drawableProperties字典中添加一个kEAGLDrawablePropertyColorFormat键来覆盖内部颜色缓冲区格式。
要使OpenGL ES renderbuffer与CAEAGLLayer对象分离,请将drawable参数设置为nil即可将两者分离。
关于正常情况下的glRenderbufferStorage方法(对于非iOS平台的其他平台)请参考OpenGL glRenderbufferStorage 函数详解
需要注意的是:
在iOS 6.0及更高版本中,此方法会自动刷新OpenGL ES的命令缓冲区,这导致了此函数不适合在对性能有较高要求的代码中中重复调用。
- iOS OpenGL renderbufferStorage:fromDrawable 方法详解
- iOS OpenGL 函数renderbufferStorage:fromDrawable:
- EXC_BAD_ACCESS at lauch for EAGLContext renderbufferStorage: fromDrawable: in Cocos2d app whie debug
- iOS OpenGL GLKView GLKit 详解
- iOS OpenGL 纹理坐标详解
- iOS OpenGL ES入门详解
- iOS OpenGL 纹理坐标详解
- iOS Xcode 调试OpenGL shader 步骤详解
- iOS CCCrypt方法详解
- IOS录音方法详解
- iOS OpenGL
- OpenGL详解
- IOS 之 NSBundle 方法详解
- iOS:UIScrollView方法 属性详解
- IOS-TextField功能方法详解
- iOS:UITableView 方法 属性 详解
- iOS:UITableViewCell 方法 属性 详解
- IOS-TextField功能方法详解
- shell转义,单引号与双引号,反撇号
- MySql解析顺序
- SSL
- React 修改端口号
- 怎么把gradle项目转为maven项目?
- iOS OpenGL renderbufferStorage:fromDrawable 方法详解
- 沉浸式状态栏简单的方法
- HTML5 Canvas 六角光阑动态效果
- Modbus学习总结
- Java查看类的成员
- zab一致性协议
- 问题解决:SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame
- Java的八大基本数据类型及封装类
- 数据库去重