NiRenderView

来源:互联网 发布:js给字符串加密 编辑:程序博客网 时间:2024/05/17 20:23
 

NiRenderView

: public NiRefObject

<NiRenderView.h>

Description

这个类是所有render view的基类,它提供了一个纯虚接口CalculatePVGeometry ,用来检测潜在的可见几何对象。在每一帧中,GetPVGeometry 将会返回一个一组几何体的静态引用。NiRenderView 也提供了一个纯虚接口用特定的视口来设置摄像机数据。Render views 最首要的是在准备渲染前用NiViewRenderClick 来剪切几何集。

构造函数

NiRenderView()

唯一的构造函数做的事情:

1.将潜在可见的几何体矩阵初始为16 *16的大小

2.设置最后一帧的ID 为FORCE_PV_GEOMETRY_UPDATE 来强制初始更新。

3.默认名字为Render View".

提供的虚函数接口:

virtual void SetCameraData(const NiRect<float>& kViewport) = 0

在renderer 函数中调用,用特定的视口设置摄像机数据

virtual void CalculatePVGeometry() = 0

检测应当被渲染的潜在的NiRenderObject可见对象,在每一帧被GetPVGeometry 调用。

提供的成员函数

void SetName(const NiFixedString& kName)

const NiFixedString& GetName() const

设置视口名字

const NiVisibleArray& GetPVGeometry(unsigned int uiFrameID)

这个函数为指定的帧返回其潜在可见的几何体。为特定帧第一次调用时,它将清空缓存矩阵,调用CalculatePVGeometry 来计算该帧应该渲染的几何体组,以后相同帧调用时只是简单的返回这些几何体组的静态引用。

一旦调用了最后一帧ID是FORCE_PV_GEOMETRY_UPDATE,它将强制性的令可见几何体组重新计算,下次由不同帧ID调用该函数时,又会将几何体组重新计算。

void ClearCachedPVGeometry()

这个函数是用来清除潜在可见几何体组缓存,令它在下次GetPVGeometry被调用时 强制重新计算潜在可见几何体组。