NiRenderFrame

来源:互联网 发布:it服务 编辑:程序博客网 时间:2024/04/30 13:54
 

NiRenderFrame

: public NiRefObject

<NiRenderFrame.h>

一渲染帧,包括一个RenderStep对象列表,在Draw函数中遍历这个列表来执行每一个RenderStep对象的Render()函数,

调用Display函数执行RenderFrame的渲染工作,在Draw函数开始时会先调用Pre_Processing()函数,结束时会调用Post_processing();

 

该类只有唯一的一个构造函数,在构函数内只是给该RenderFrame指定了一个默认名称“Render Frame”;

 

类成员函数:

1.void Draw()

类的主要渲染函数,内部执行顺序是:

        1. Pre_Processing();  2.BegineFrame()   3.遍历每一个Step的Render函数   4.EndUsingRenderTargetGroup()   5.EndFrame()  6.Post_processing();

2. void Display()

        只是调用DisplayFrame();

3.

void AppendRenderStep(NiRenderStep* pkRenderStep)

void PrependRenderStep(NiRenderStep* pkRenderStep)

void RemoveRenderStep(NiRenderStep* pkRenderStep)

void RemoveAllRenderSteps()

NiTPointerList<NiRenderStepPtr>& GetRenderSteps()

const NiTPointerList<NiRenderStepPtr>& GetRenderSteps() const

NiRenderStep* GetRenderStepByName(constNiFixedString& kName) const

NiTListIterator GetRenderStepPosByName(const NiFixedString& kName) const

NiRenderStep* GetRenderStepAndPosByName(constNiFixedString& kName, NiTListIterator& kIter) const

这一系列的函数都是对RenderStep列表进行操作的。

 

void SetPreProcessingCallbackFunc(Callback pfnCallback, void* pvCallbackData = NULL)

Callback GetPreProcessingCallbackFunc() const

void* GetPreProcessingCallbackFuncData() const

这些是设置 和 获得 回调函数指针和数据的,这个回调函数是在Draw()函数的刚开始时调用。

These functions set and get the pre-processing callback function pointer and data. This callback is invoked at the very beginning of theDraw function.

void SetPostProcessingCallbackFunc(Callback pfnCallback, void* pvCallbackData = NULL)

Callback GetPostProcessingCallbackFunc() const

void* GetPostProcessingCallbackFuncData() const

这些是设置 和 获得 回调函数指针和数据的,这个回调函数是在Draw()函数的要结束时调用。

4.

void SetName(const NiFixedString& kName)

const NiFixedString& GetName() const

这些函数是设置和获得渲染帧的名字,默认名字是"Render Frame".

 

回调函数 Callback 

typedef bool (*Callback)(NiRenderFrame* pkCurrentFrame, void* pvCallbackData)

这个回调类型定义了一个可以被用作pre- and post-processing 回调函数的指针,它指向当前调用回调函数的渲染帧及回调函数要要调用的数据;

原创粉丝点击