IDirect3DDevice9::SetClipStatus 方法 (d3d9.h)

设置剪辑状态。

语法

HRESULT SetClipStatus(
  [in] const D3DCLIPSTATUS9 *pClipStatus
);

参数

[in] pClipStatus

类型: const D3DCLIPSTATUS9*

指向 D3DCLIPSTATUS9 结构的指针,描述要设置的剪辑状态设置。

返回值

类型: HRESULT

如果方法成功,则返回值D3D_OK。 如果其中一个参数无效,则返回值D3DERR_INVALIDCALL。

备注

在软件顶点处理期间使用剪辑状态。 因此,纯硬件处理或非纯硬件处理设备不支持此方法。 有关纯设备的详细信息,请参阅 D3DCREATE

在由 IDirect3DDevice9::P rocessVertices、IDirect3DDevice9::DrawPrimitive 或其他绘图函数) (顶点处理期间启用剪裁时,Direct3D 将计算每个顶点的剪辑代码。 剪辑代码是 D3DCS_* 位的组合。 当顶点位于特定剪裁平面之外时,在剪裁代码中设置相应的位。 Direct3D 使用 D3DCLIPSTATUS9 维护剪辑状态,后者具有 ClipUnion 和 ClipIntersection 成员。 ClipUnion 是所有顶点剪辑代码的按位“OR”,ClipIntersection 是所有顶点剪辑代码的按位“AND”。 对于 ClipUnion,初始值为零,对于 ClipIntersection 为 0xFFFFFFFF。 当D3DRS_CLIPPING设置为 FALSE 时,ClipUnion 和 ClipIntersection 设置为零。 Direct3D 在绘图调用期间更新剪辑状态。 若要计算特定对象的剪辑状态,请将 ClipUnion 和 ClipIntersection 设置为其初始值并继续绘制。

IDirect3DDevice9::D rawRectPatchIDirect3DDevice9::D rawTriPatch 不会更新剪辑状态,因为它们没有软件模拟。

要求

   
目标平台 Windows
标头 d3d9.h (包括 D3D9.h)
Library D3D9.lib

请参阅

IDirect3DDevice9

IDirect3DDevice9::GetClipStatus