NiRenderListProcessor
: public NiRefObject
<NiRenderListProcessor.h>
Description
该类是一个由NiViewRenderClick用来处理NiRenderView返回的NiRenderObject数组一个渲染处理列表类。
它有两个虚函数:
一个是在NiViewRenderClick 掉用之前执行的PreRenderProcessList;来处理几何体组
另一个是在NiViewRenderClick 调用执行之后的PostRenderProcessList;来处理几何体组
用PreRenderProcessList 来渲染几何体以代替将渲染推迟到NiViewRenderClick中执行时可以的。默认的这两个虚函数都不做什么有用的操作,所以派生类应当重载这个两个函数来实现有意义的处理操作。
提供的虚函数接口
virtual void PreRenderProcessList(const NiVisibleArray* pkInput, NiVisibleArray& kOutput, void* pvExtraData)
这个函数的调用先于任何几何体被渲染。pkInput提供的几何体数组可能是NULL。任何在这个函数里不被渲染的几何体都应返回在kOutput 数组里,接下来kOutput 里所有几何体都将在NiViewRenderClick被渲染,额外的数据指针是在当处理器给render click赋值时由NiViewRenderClick 中定义的。派生类应该重载这个函数来处理用户几何体组,这个函数默认的执行是 立即渲染pkInput的几何体组,然后将 kOutput 中的几何体组推迟到NiViewRenderClick渲染,以避免在一个很普通的函数调用时赋值大量的潜在几何体组。
virtual void PostRenderProcessList(NiVisibleArray& kPreviousOutput, void* pvExtraData)
这个函数是在来自PreRenderProcessList 中的kOutput 几何体组在NiViewRenderClick中渲染后调用。kPreviousOutput 字段应该是和已渲染的kOutput几何体组一样。派生类应该重载这个函数,这个函数默认的是什么操作都不做。