美文网首页
GLKit 基本API

GLKit 基本API

作者: FireStroy | 来源:发表于2020-09-21 17:49 被阅读0次

GLKit

GLKit 框架的设计⽬标是为了简化基于OpenGL / OpenGL ES 的应⽤用开发.使⽤数学库,背景纹理加载,预先创建的着⾊器效果,以及标准视图和视图控制器来实现渲染循环。

iOS已经启用OpenGL ES 但并不影响我们继续学习和使用。

GLKit的功能

  1. 提供高性能的数学运算。
  2. 加载纹理。
  3. 提供常见的着色器。
  4. 提供视图以及视图控制器器。

相关类和API

GLKTextureInfo 纹理信息

name : OpenGL 上下⽂文中纹理理名称
target : 纹理理绑定的⽬目标
height : 加载的纹理理⾼高度
width : 加载纹理理的宽度
textureOrigin : 加载纹理理中的原点位置
alphaState: 加载纹理理中alpha分量量状态
containsMipmaps: 布尔值,加载的纹理理是否包含mip贴图

GLTextureLoader 纹理加载

+ textureWithContentsOfFile:options:errer: 从⽂件加载2D纹理图像并从数据中创建新的纹理
- textureWithContentsOfFile:options:queue:completionHandler: 从⽂文件中异步加载2D纹理图像,并根据数据创建新纹理

- textureWithContentsOfURL:options:error: 从URL 加载2D纹理图像并从数据建新纹理
- textureWithContentsOfURL:options:queue:completionHandler: 从URL异步加载2D纹理图像,并根据数据创建新纹理

+ textureWithContentsOfData:options:errer: 从内存空间加载2D纹理图像,并根据数据创建新纹理
- textureWithContentsOfData:options:queue:completionHandler:从内存空间异步加载2D纹理图像,并从数据中创建新纹理

GLKView 绘制内容的视图默认实现

常用属性和方法

delegate
drawableColorFormat 颜⾊色渲染缓存区格式
drawableDepthFormat 深度渲染缓存区格式
drawableStencilFormat 模板渲染缓存区的格式
drawableMultisample 多重采样缓存区的格式

drawableHeight 底层缓存区对象的⾼度(以像素为单位)
drawableWidth 底层缓存区对象的宽度(以像素为单位)

context 绘制视图内容时使⽤用的OpenGL ES 上下⽂文
- bindDrawable 将底层FrameBuffer 对象绑定到OpenGL ES
enableSetNeedsDisplay 布尔值,指定视图是否响应使得视图内容⽆无效的消息
- display ⽴立即重绘视图内容
snapshot 绘制视图内容并将其作为新图像对象返回

GLKViewController

- (void) update 更更新视图内容
- (void) glkViewControllerUpdate:
preferredFramesPerSecond 视图控制器调⽤视图以及更新视图内容的速率
framesPerSencond 视图控制器调用视图以及更新其内容的实际速率
delegate

paused 布尔值,渲染循环是否已暂停
pausedOnWillResignActive 布尔值,当前程序重新激活动状态时视图控制器是否⾃动暂停渲染循环
resumeOnDidBecomeActive 布尔值,当前程序变为活动状态时视图控制是否⾃动恢复呈现循环

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 纹理应⽤于渲染图元的顺序

- prepareToDraw 准备渲染效果
 

相关文章

  • GLKit 基本API

    GLKit GLKit 框架的设计⽬标是为了简化基于OpenGL / OpenGL ES 的应⽤用开发.使⽤数学库...

  • OpenGLES(三)- GLKit: 多边形纹理、旋转

    OpenGLES(三)- GLKit: 多边形纹理、旋转 本文中会省略关于GLKit最基本的API的注释,如果需...

  • OpenGL ES GLKit 常用API解析

    OpenGL ES GLKit 常用API解析 前言 GLKit 框架的设计⽬目标是为了了简化基于OpenGL /...

  • GLKit常用API

    GLKit常用API OpenGL ES(OpenGL for Embedded Systems)是以手持和嵌入式...

  • GLKIT常用API

    GLKIT框架简述 GLKit框架的设计⽬标是为了简化基于OpenGL / OpenGL ES的应⽤开发。它的出...

  • GLKit常用API

    1、GLKit 框架概述 GLKit框架的设计目标是为了简化基于OpenGL / OpenGL ES的应用开发。它...

  • GLKit 􏰼􏰜常用API

    前言 GLKit 是为了加速基于OpenGL或OpenGl ES应用开发而设计出来的,它简化了基于着色器的应用程序...

  • GLKit常见API

    什么事GLKit GLKit框架的设计是为了简化基于OpenGL/OPenGL ES的应用开发,减少创建新的基于着...

  • OpenGL ES 入门:GLKit加载图片

    本案例的目的在于熟悉GLKit框架的使用,如果还有不了解的,可以看看这篇文章GLKit 及 常见API[https...

  • 案例01:GLKit加载图片

    本案例的目的在于熟悉GLKit框架的使用,如果还有不了解的,可以看看这篇文章二、GLKit 及 常见API 整体效...

网友评论

      本文标题:GLKit 基本API

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