渲染上下文(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. 灯光(启用/关闭、灯光参数)

posted on 2011-08-14 22:18  konlil  阅读(1014)  评论(0编辑  收藏  举报

导航