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被调用时 强制重新计算潜在可见几何体组。