美文网首页
GLKit常用API解析

GLKit常用API解析

作者: 瀚_ | 来源:发表于2019-07-06 14:15 被阅读0次

    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 准备渲染效果

    相关文章

      网友评论

          本文标题:GLKit常用API解析

          本文链接:https://www.haomeiwen.com/subject/kxuphctx.html