我的博客:http://blog.youkuaiyun.com/xuzhonghai/article/details/7246162
1.Ni2DBuffer
该类是包含像素的二维缓存类。该类不同于NiPixelData ,NiPixelData 是所有的像素数据都存在显存里,而导致CPU不能在不影响性能的情况下访问。
2.Ni3DRenderView
该类是用来渲染场景物件的渲染视口类。它有指针一个指向摄像机NiCamera一个指向NiCullingProcesss,用来分割场景中潜在可见的几何体组。
3.NiAccumulator
该类是所有accumulators的基类。
Accumulators 实现预分割的NiRenderObject对象集的渲染,比如 常用NiCullingProcess 类来分割的 NiVisibleArray对象集。
Accumulators 是渲染中继updating 和culling后的一步,它允许对潜在可见对象集进行排序和渲染,Accumulators 可以执行很多特殊的渲染方式比如 depth-sorting、texture sorting,渲染中渲染状态暂时替换等等。由于从这个基类继承,accumulators 可以很容易的通过交换进交换出渲染管道来改变游戏中的渲染行为。
每一个NiAccumulator 的子类对注册的渲染对象执行它们自己不同的排序和渲染策略,具体详见gb编程手册或其子类的排序系统。
4.NiAccumulatorProcessor
该类是一个用NiAccumulator封装的渲染链处理器。它用accumulator 处理渲染中的几何体对象列表。一旦所有的几个体对象被处理,该处理器会选择性的在accumulator 上调用FinishAccumulating 函数
5.NiAlphaAccumulator
NiAlphaAccumulator 是一个开启了z-buffered ,来正确渲染场景中那些需要alpha blended 渲染对象的accumulator。alpha blended 对象渲染时必须考虑到彼此顺序的影响。假如alpha blended 对象不是最后渲染或者不按正确的顺序渲染,将会导致不可预知的视觉渲染结果。alpha blended 对象排序时,避免了对不透明对象排序的不必要的开销。
accumulator 会推迟对alpha blended 对象的处理,先处理不透明对象和关闭了alpha blended 的对象渲染,然后再对alpha blended 对象进行排序,并按从后向前的顺序渲染alpha blended 对象。
在Frame Rendering System中NiAlpaAccumulator 的被NiAlphaSortProcessor所替代,NiAlphaSortProcessor和NiAlpaAccumulator 为应用程序渲染系统提供相同的接口。
6.NiAlphaProperty
NiAlphaProperty 是一个控制着很多与alpha blending(激活和关闭及设置源和目标blending函数)相关参数的类。这个属性类影响alpha testing 和accumulation。增加表现性能和减轻对alpha-blended 排序的依赖。