渲染上下文(Rendering Context)

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

你可能感兴趣的:(渲染上下文(Rendering Context))