• [原] OpenGL ES 学习笔记 (二)


    OpenGL ES 2 的渲染流程 实际绘制环境,流程细化

    操作流程:

    1. 配置环境:

      a. CAEAGLLayer 替换默认的 CALayer,配置绘制属性;
      b. EAGLContext,即 Render Context ,设置成 OpenGL ES 2 API 环境,并使其成为当前活跃的上下文环境;
      c. Frame Buffers / Render Buffer 的创建和使用,以及内容绑定;
      d. EAGLContext 绑定渲染的窗口 (on-screen),CAEAGLLayer;

      [注] CAEAGLLayer 继承于 CALayer, 专门用来渲染 OpenGL 、OpenGL ES 内容的图层;如果要使用,则要重写 layerClass 类方法。 在 EAGLContext 绑定 CAEAGLLayer 为渲染窗口之前,可以通过修改 drawableProperties 属性来改变渲染属性。

      使用注意:
      a. 修改 opaque 属性为 YES ( CAEAGLLayer.opaque = YES; );
      b. 不要修改 Transform ;
      c. 当横竖屏切换的时候,不要去修改 CAEAGLLayer 的 Transform 而进行 Rotate, 而是要通过 OpenGL / OpenGL ES 来 Rotate 要渲染的内容。

      [注] EAGLContext 是 管理 OpenGL ES 渲染上下文(包含,信息的状态、openGL ES 的命令(API)、OpenGL ES 需要绘制的资源)的对象,要使用 OpenGL ES 的 API (命令)就要使该 Context 成为当前活跃的渲染上下文。

    1. 初始化数据
      这里主要是考虑是否使用 VBOs ,由于移动端对效率有所要求,所以一般采用 VBOs 快速缓存;

    2. 配置 OpenGL ES Shader
      这里的核心工作是 Shader Code ,即学习 GLSL ES 语言;
      iOS 端采用 glsl 后缀的文件来编写代码;

    3. 渲染绘制
      这里要注意的是 清空旧缓存、设置窗口,虽然只是一句代码的问题,但还是很重要的;
      核心是学习 glDraw* 绘制 API ;

    代码流程:

    1. 配置渲染环境

      1. 配置渲染窗口 [ 继承自 UIView ]
        a. 重写 layerClass 类方法

            + (Class)layerClass {
               return [CAEAGLLayer class];
            } 
        
  • 相关阅读:
    修改DataSet列名
    对象的比较
    运算符
    安装vs2012详细步骤
    游戏开发-cocos creator踩坑-发布后pc正常,手机加载失败
    cocos creator基础-(十六)自定义的帧动画播放组件(需要优化)
    cocos creator基础-(十七)TexturePacker图集打包
    cocos creator基础-(十五)碰撞检测系统
    cocos creator基础-(十四)cc.widget与屏幕适配
    cocos creator基础-(十三)cc.Loader使用
  • 原文地址:https://www.cnblogs.com/linganxiong/p/9146997.html
Copyright © 2020-2023  润新知