NiRenderView

NiRenderView作为所有渲染视图的基类,提供了用于检测潜在可见几何体的纯虚接口CalculatePVGeometry,并通过GetPVGeometry返回每帧的可见几何体集合。它还负责设置特定视口的摄像机数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值