分析GPUImage-GPUImageContext

该类的主要功能

  1. 为该库功能提供基本的上下文环境。
  2. 对本设备的图像处理的能力给出判定。
  3. 对外的操作接口。
分析GPUImage-GPUImageContext_第1张图片
GPUImageContext

持有的对象

  1. contextQueue:上下文队列。
  2. shaderProgramUsageHistory:一个数组,着色器程序使用历史。
  3. shaderProgramCache:着色器程序缓存,一个字典。
  4. sharedImageProcessingContext:供图像处理使用的上下文。
  5. sharedFramebufferCache:公共的帧缓冲区缓存。
  6. currentContext:当前正在使用的上下文。
  7. contextShaderProgram:当前正在使用的,被激活的着色器程序。
  8. coreVideoTextureCache:核心视频纹理的缓存。

本设备能力的判定

  1. deviceSupportsRedTextures:判断本设备是否支持红色的纹理。
  2. deviceSupportsOpenGLESExtension:判断该设备是否支持某种OpenGL ES的字符串扩展。
  3. maximumVaryingVectorsForThisDevice:该设备支持的最大的转换向量。
  4. maximumTextureSizeForThisDevice:获取该设备能支持的最大纹理大小。
  5. maximumTextureUnitsForThisDevice:获取该设备能支持的最大纹理单元。
  6. supportsFastTextureUpload:判断本设备是否支持快速纹理的上传。
  7. deviceSupportsFramebufferReads:判断设备是否支持帧缓冲区的读取。
    虽然这只是些对外的接口,但是每个都反映出来当前设备所具备的图像的处理能力,接口本身并不重要,这些能力才是重要的!

本类提供的对外接口

  1. sizeThatFitsWithinATextureForSize:给出一个适合某种纹理大小的size。
  2. presentBufferForDisplay:把一个帧缓冲区展示在屏幕上。
  3. programForVertexShaderString:(NSString *)vertexShaderString fragmentShaderString:(NSString *)fragmentShaderString:根据图元着色器字符串和片元着色器来获取OpenGL处理接口。
  4. useSharegroup:用于设置上下文群组。
  5. createContext:创建OpenGL ES 2.0的图形图像上下文。
  6. context:无中生有的创建上下文。

上一篇:分析GPUImage-GLProgram
下一篇:分析GPUImage-GPUImageInput

你可能感兴趣的:(分析GPUImage-GPUImageContext)