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幾何體組一樣。派生類應該重載這個函數,這個函數默認的是什麼操作都不做。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章