NiRenderListProcessor

 

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几何体组一样。派生类应该重载这个函数,这个函数默认的是什么操作都不做。

你可能感兴趣的:(NiRenderListProcessor)