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_CLIPINTERSECTION
  Combination of all CLIPINTERSECTION flags.
D3DSTATUS_CLIPUNIONALL
  Combination of all CLIPUNION flags.
D3DSTATUS_DEFAULT
  Combination of D3DSTATUS_CLIPINTERSECTION and D3DSTATUS_ZNOTVISIBLE flags. This value is the default.
D3DSTATUS_ZNOTVISIBLE

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.

QuickInfo

  Windows NT: Use version 4.0 or later.
  Windows: Use Windows 95 or later. Available as a redistributable for Windows 95.
  Windows CE: Unsupported.
  Header: Declared in d3dtypes.h.

See Also

D3DEXECUTEDATA, D3DOPCODE, D3DRECT