GLKTextureInfo 创建OpenGL纹理信息
-
name: OpenGL上下文中纹理名称 -
target: 纹理绑定的目标 -
height: 加载的纹理高度 -
width: 加载纹理的宽度 -
textureOrigin: 加载纹理中的原点位置 -
alphaState: 加载纹理中alpha分量状态 -
containsMipmaps: 加载的纹理是否包含mip贴图
GLKTextureLoader 简化从各种资源文件中加载纹理
-
初始化
- (instancetype)initWithSharegroup:(EAGLSharegroup *)sharegroup; -
从文件中加载纹理
+ (GLKTextureInfo *)textureWithContentsOfFile:options:error: - (void)textureWithContentsOfFile:options:queue:completionHandler:options:-
GLKTextureLoaderApplyPremultiplication是否非alpha通道乘以相对应的alpha值(alpha * rgb) -
GLKTextureLoaderGenerateMipmaps是否生成Mip贴图 -
GLKTextureLoaderOriginBottomLeft是否左下角为原点 -
GLKTextureLoaderGrayscaleAsAlpha是否加载灰度图片
-
-
从URL加载纹理
+ (GLKTextureInfo *)textureWithContentsOfURL:options:error: - textureWithContentsOfURL:options:queue:completionHandler: -
从内存中加载纹理
+ (GLKTextureInfo *)textureWithContentsOfData:options:errer: - textureWithContentsOfData:options:queue:completionHandler: -
从CGImages加载纹理
+ (GLKTextureInfo *)textureWithCGImage:options:error: - textureWithCGImage:options:queue:completionHandler: -
从URL或文件加载多维纹理(加载一张height = 6 * width 或者 width = 6 * height的图片, 将这张图片分成6部分后折成立方体贴图)
+ (GLKTextureInfo *)cubeMapWithContentsOfURL:options:errer: - cubeMapWithContentsOfURL:options:queue:completionHandler: + (GLKTextureInfo *)cubeMapWithContentsOfFile:options:errer: - cubeMapWithContentsOfFile:options:queue:completionHandler: -
从多张文件中加载多维纹理
+ (GLKTextureInfo *)cubeMapWithContentsOfFiles:options:errer: - cubeMapWithContentsOfFiles:options:options:queue:completionHandler
GLKView 使用OpenGL ES 绘制内容的视图默认实现
-
初始化视图
- initWithFrame:context: 代理
delegate-
配置帧缓存区对象
-
drawableColorFormat颜色缓存区格式 -
drawableDepthFormat深度缓存区格式 -
drawableStencilFormat模板缓存区格式 -
drawableMultisample多重采样格式
-
-
帧缓存区属性
-
drawableHeight(readonly) 底层缓存区对象的高度(以像素为单位) -
drawableWidth(readonly) 底层缓存区对象的宽度(以像素为单位)
-
-
绘制视图的内容
-
context绘制视图内容时使用的OpenGL ES上下文 -
- bindDrawable将底层FrameBuffer对象绑定到OpenGL ES -
enableSetNeedsDisplay指定视图是否响应使得视图内容无效的消息 -
display立即重绘视图内容 -
snapshot绘制视图内容并将其作为新图像对象返回 -
- deleteDrawable删除与视图关联的可绘制对象
-
GLKViewDelegate 用于GLKView对象回调方法
-
- glkView:drawInRect:绘制视图内容(必须实现的代理)
GLKViewController 管理OpenGL ES渲染循环的视图控制器
-
更新
-
- (void)update更新视图内容 -
- (void)glkViewControllerUpdate:更新视图内容
-
-
配置帧速率
-
preferredFramesPerSecond视图控制器调用视图以及更新视图内容的速率 framesPerSecond
-
代理
delegate-
控制帧更新
-
paused渲染循环是否已暂停 -
pausedOnWillResignActive当前程序重新激活动状态时视图控制器是否⾃动暂停渲染循环 -
resumeOnDidBecomeActive当前程序变为活动状态时视图控制是否自动恢复呈现循环
-
-
获取有关View更新信息
-
frameDisplayed视图控制器自创建以来发送的帧更新数 -
timeSinceFirstResume⾃视图控制器第一次恢复发送更新事件以来经过的时间量 -
timeSinceLastResume自上次视图控制器恢复发送更新事件以来更更新的时间量 -
timeSinceLastUpdate⾃上次视图控制器调用委托方法glkViewControllerUpdate:以及经过的时间量 -
timeSinceLastDraw⾃上次视图控制器调用视图display方法以来经过的时间量
-
GLKViewControllerDelegate 渲染循环回调方法
-
- glkViewControllerUpdate:在显示每个帧之前调⽤ -
- glkViewController:willPause:在渲染循环暂停或恢复之前调⽤
GLKBaseEffect 一种简单光照/着色系统
label给Effect命名transform应⽤于顶点数据的模型视图,投影和纹理变换-
lightingType⽤于计算每个片段的光照策略,GLKLightingType-
GLKLightingTypePerVertex表示在三角形中每个顶点执行光照计算,然后在三角形进⾏插值 -
GLKLightingTypePerPixel表示光照计算的输入在三角形内插入,并且在每个片段执⾏光照计算
-
lightModelTwoSided布尔值,表示为基元的两侧计算光照material计算渲染图元光照使用的材质属性lightModelAmbientColor环境颜色,应⽤效果渲染的所有图元.light0场景中第⼀个光照属性light1场景中第二个光照属性light2场景中第三个光照属性texture2d0第一个纹理属性texture2d1第⼆个纹理属性textureOrder纹理应用于渲染图元的顺序fog应⽤于场景的雾属性colorMaterialEnable布尔值,表示计算光照与材质交互时是否使用颜⾊顶点属性useConstantColor布尔值,指示是否使⽤用常量颜色constantColor不提供每个顶点颜⾊数据时使⽤常量颜⾊- prepareToDraw准备渲染效果