D3DTRANSFORMDATA
The D3DTRANSFORMDATA structure contains information about transformations for the IDirect3DViewport3::TransformVertices method.
typedef struct _D3DTRANSFORMDATA {
DWORD dwSize;
LPVOID lpIn;
DWORD dwInSize;
LPVOID lpOut;
DWORD dwOutSize;
LPD3DHVERTEX lpHOut;
DWORD dwClip;
DWORD dwClipIntersection;
DWORD dwClipUnion;
D3DRECT drExtent;
} D3DTRANSFORMDATA, *LPD3DTRANSFORMDATA;
Members
- dwSize
- Size of the structure, in bytes. This member must be initialized before the structure is used.
- lpIn
- Address of the vertices to be transformed. This should be a D3DLVERTEX structure.
- dwInSize
- Stride of the vertices to be transformed.
- lpOut
- Address used to store the transformed vertices.
- dwOutSize
- Stride of output vertices.
- lpHOut
- Address of a value that contains homogeneous transformed vertices. This value is a D3DHVERTEX structure
- dwClip
- Flags specifying how the vertices are clipped. This member can be one or more of the following values:
- D3DCLIP_BACK
- Clipped by the back plane of the viewing frustum.
- D3DCLIP_BOTTOM
- Clipped by the bottom plane of the viewing frustum.
- D3DCLIP_FRONT
- Clipped by the front plane of the viewing frustum.
- D3DCLIP_GEN0 through D3DCLIP_GEN5
- Application-defined clipping planes.
- D3DCLIP_LEFT
- Clipped by the left plane of the viewing frustum.
- D3DCLIP_RIGHT
- Clipped by the right plane of the viewing frustum.
- D3DCLIP_TOP
- Clipped by the top plane of the viewing frustum_dx_viewing_frustum_glos.
- dwClipIntersection
- Flags denoting the intersection of the clip flags. This member can be one or more of the following values:
- 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.
- dwClipUnion
- Flags denoting the union of the clip flags. This member can be one or more of the following values:
- 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.
- drExtent
- A D3DRECT structure that defines the extents of the transformed vertices. Initialize this structure to initial extents that the IDirect3DViewport3::TransformVertices method will adjust if the transformed vertices do not fit. For geometries that are clipped, extents will only include vertices that are inside the viewing volume.
Remarks
Each input vertex should be a three-vector vertex giving the [x y z] coordinates in model space for the geometry. The dwInSize member gives the amount to skip between vertices, allowing the application to store extra data inline with each vertex.
All values generated by the transformation module are stored as 16-bit precision values. The clip is treated as an integer bitfield that is set to the inclusive OR of the viewing volume planes that clip a given transformed vertex.
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
IDirect3DViewport3::TransformVertices