• 渲染上下文(Rendering Context)


    如果把渲染引擎看做一个画家,那么画家开始作画之前需要做一系列的准备工作,譬如:布置好场景,摆好画架,钉好画布,调整好灯光,准备号画笔油彩,站好位置,然后才能开始下笔作画。前期的这一系列准备过程在d3d和ogl这样的渲染api中对应了一系列的接口函数,这些函数初看起来又多又乱,有时调用顺序还有一定的耦合,性,因此需要精心的组织这些接口,一种比较好的方法是将这些接口组织成一个叫做渲染上下文(rendering context)的类。

    这个类中具体包含哪些东西呢,罗列起来可以有这些:

    1. 视图设置相关(正交/投影,视口参数设置)

    2. 绘制缓冲相关(创建删除缓冲,绑定缓冲,设置当前缓冲,清除缓冲,设置背景颜色)

    3. 贴图参数相关(是否使用贴图,贴图Filter模式,Wrap模式,MipMap等)

    4. shader相关(创建/删除shader,设置shader参数)

    5. 缓冲数据相关(顶点缓冲,索引缓冲等)

    6. 材质相关(diffuse,embient,specular,emit等)

    7. 矩阵相关(world,view,project等,及相关旋转、平移、缩放操作)

    8. 裁剪

    9. alpha(blend,test)

    10. stencil-test

    11. fog

    12. 灯光(启用/关闭、灯光参数)

  • 相关阅读:
    svn使用总结
    捕获JS 错误日志
    致敬 54岁的刘德华
    Mac 下 命令收藏
    坑人的七牛CDN
    【No.1】监控Linux性能25个命令行工具
    PAC 自动代理
    jquery 事件 多次绑定,多次触发,怎么清除历史绑定事件
    Squid 操作实践
    ntpdate[16603]: the NTP socket is in use
  • 原文地址:https://www.cnblogs.com/konlil/p/2138499.html
Copyright © 2020-2023  润新知