D3DSTATUS
The D3DSTATUS structure describes the current status of the execute buffer. This structure is part of the D3DEXECUTEDATA structure and is used with the D3DOP_SETSTATUS opcode in the D3DOPCODE enumerated type.
typedef struct _D3DSTATUS {
DWORD dwFlags;
DWORD dwStatus;
D3DRECT drExtent;
} D3DSTATUS, *LPD3DSTATUS;
Members
- dwFlags
- One of the following flags, specifying whether the status, the extents, or both are being set:
- D3DSETSTATUS_STATUS
- Set the status.
- D3DSETSTATUS_EXTENTS
- Set the extents specified in the drExtent member.
- D3DSETSTATUS_ALL
- Set both the status and the extents.
- dwStatus
- Clipping flags. This member can be one or more of the following flags:
Combination and General Flags
- D3DSTATUS_CLIPINTERSECTIONALL
- Combination of all CLIPINTERSECTION flags.
- D3DSTATUS_CLIPUNIONALL
- Combination of all CLIPUNION flags.
- D3DSTATUS_DEFAULT
- Combination of D3DSTATUS_CLIPINTERSECTIONALL and D3DSTATUS_ZNOTVISIBLE flags. This value is the default.
- D3DSTATUS_ZNOTVISIBLE
- Indicates that the rendered primitive is not visible. This flag is set or cleared by the system when rendering with z-checking enabled (see D3DRENDERSTATE_ZVISIBLE).
Clip Intersection Flags
- D3DSTATUS_CLIPINTERSECTIONBACK
- Logical AND of the clip flags for the vertices compared to the back clipping plane of the viewing frustum.
- D3DSTATUS_CLIPINTERSECTIONBOTTOM
- Logical AND of the clip flags for the vertices compared to the bottom of the viewing frustum.
- D3DSTATUS_CLIPINTERSECTIONFRONT
- Logical AND of the clip flags for the vertices compared to the front clipping plane of the viewing frustum.
- D3DSTATUS_CLIPINTERSECTIONGEN0 through D3DSTATUS_CLIPINTERSECTIONGEN5
- Logical AND of the clip flags for application-defined clipping planes.
- D3DSTATUS_CLIPINTERSECTIONLEFT
- Logical AND of the clip flags for the vertices compared to the left side of the viewing frustum.
- D3DSTATUS_CLIPINTERSECTIONRIGHT
- Logical AND of the clip flags for the vertices compared to the right side of the viewing frustum.
- D3DSTATUS_CLIPINTERSECTIONTOP
- Logical AND of the clip flags for the vertices compared to the top of the viewing frustum.
Clip Union Flags
- D3DSTATUS_CLIPUNIONBACK
- Equal to D3DCLIP_BACK.
- D3DSTATUS_CLIPUNIONBOTTOM
- Equal to D3DCLIP_BOTTOM.
- D3DSTATUS_CLIPUNIONFRONT
- Equal to D3DCLIP_FRONT.
- D3DSTATUS_CLIPUNIONGEN0 through D3DSTATUS_CLIPUNIONGEN5
- Equal to D3DCLIP_GEN0 through D3DCLIP_GEN5.
- D3DSTATUS_CLIPUNIONLEFT
- Equal to D3DCLIP_LEFT.
- D3DSTATUS_CLIPUNIONRIGHT
- Equal to D3DCLIP_RIGHT.
- D3DSTATUS_CLIPUNIONTOP
- Equal to D3DCLIP_TOP.
Basic Clipping Flags
- D3DCLIP_BACK
- All vertices are clipped by the back plane of the viewing frustum.
- D3DCLIP_BOTTOM
- All vertices are clipped by the bottom plane of the viewing frustum.
- D3DCLIP_FRONT
- All vertices are clipped by the front plane of the viewing frustum.
- D3DCLIP_LEFT
- All vertices are clipped by the left plane of the viewing frustum.
- D3DCLIP_RIGHT
- All vertices are clipped by the right plane of the viewing frustum.
- D3DCLIP_TOP
- All vertices are clipped by the top plane of the viewing frustum.
- D3DCLIP_GEN0 through D3DCLIP_GEN5
- Application-defined clipping planes.
- drExtent
- A D3DRECT structure that defines a bounding box for all the relevant vertices. For example, the structure might define the area containing the output of the D3DOP_PROCESSVERTICES opcode, assuming the D3DPROCESSVERTICES_UPDATEEXTENTS flag is set in the D3DPROCESSVERTICES structure.
Remarks
The status is a rolling status and is updated during each execution. The bounding box in the drExtent member can grow with each execution, but it does not shrink; it can be reset only by using the D3DOP_SETSTATUS opcode.
Windows NT/2000: Requires Windows NT 4.0 SP3 or later.
Windows 95/98: Requires Windows 95 or later. Available as a redistributable for Windows 95.
Header: Declared in d3dtypes.h.
See Also
D3DEXECUTEDATA, D3DOPCODE, D3DRECT