D3DCLIPSTATUS9 结构
描述当前剪辑状态。
语法
typedef struct D3DCLIPSTATUS9 {
DWORD ClipUnion;
DWORD ClipIntersection;
} D3DCLIPSTATUS9, *LPD3DCLIPSTATUS9;
成员
-
ClipUnion
-
类型: DWORD
-
描述当前剪辑状态的剪辑联合标志。 此成员可以是以下一个或多个标志:
值 含义 - D3DCS_ALL
所有剪辑标志的组合。 - D3DCS_LEFT
所有顶点都由视锥的左平面剪裁。 - D3DCS_RIGHT
所有顶点都由视锥的右平面剪裁。 - D3DCS_TOP
所有顶点都由视锥的顶平面剪裁。 - D3DCS_BOTTOM
所有顶点都由视锥的底部平面剪裁。 - D3DCS_FRONT
所有顶点都由视锥的前平面剪裁。 - D3DCS_BACK
所有顶点都由视锥的背平面剪裁。 - D3DCS_PLANE0
应用程序定义的剪裁平面。 - D3DCS_PLANE1
应用程序定义的剪裁平面。 - D3DCS_PLANE2
应用程序定义的剪裁平面。 - D3DCS_PLANE3
应用程序定义的剪裁平面。 - D3DCS_PLANE4
应用程序定义的剪裁平面。 - D3DCS_PLANE5
应用程序定义的剪裁平面。 -
ClipIntersection
-
类型: DWORD
-
描述当前剪辑状态的剪裁交集标志。 此成员可以采用与 ClipUnion 相同的标志。
备注
在 由 ProcessVertices、 DrawPrimitive 或其他绘图函数) (顶点处理期间启用剪裁时,Direct3D 将计算每个顶点的剪辑代码。 剪辑代码是D3DCS_位的组合。 当顶点位于特定剪裁平面之外时,在剪裁代码中设置相应的位。 Direct3D 使用具有 ClipUnion 和 ClipIntersection 成员的 D3DCLIPSTATUS9 维护剪辑状态。 ClipUnion 是所有顶点剪辑代码的按位 OR,ClipIntersection 是所有顶点剪辑代码的按位 AND。 ClipUnion 的初始值为零,ClipIntersection 的初始值为0xFFFFFFFF。 当D3DRS_CLIPPING设置为 FALSE 时,ClipUnion 和 ClipIntersection 设置为零。 Direct3D 在绘图调用期间更新剪辑状态。 若要计算特定对象的剪辑状态,请将 ClipUnion 和 ClipIntersection 设置为其初始值并继续绘制。
DrawRectPatch 和 DrawTriPatch 不会更新剪辑状态,因为它们没有软件仿真。
要求
要求 | 值 |
---|---|
标头 |
|
另请参阅