Platform SDK: DirectX |
The IDirect3DDevice7::DrawIndexedPrimitiveStrided method renders a geometric primitive, based on indexing into an array of strided vertices. For more information, see Strided Vertex Format.
HRESULT DrawIndexedPrimitiveStrided( D3DPRIMITIVETYPE d3dptPrimitiveType, DWORD dwVertexTypeDesc, LPD3DDRAWPRIMITIVESTRIDEDDATA lpVertexArray, DWORD dwVertexCount, LPWORD lpwIndices, DWORD dwIndexCount, DWORD dwFlags );
The D3DPT_POINTLIST member of D3DPRIMITIVETYPE is not indexed.
This parameter is used differently from the dwVertexCount parameter in the IDirect3DDevice7::DrawPrimitive method. In that method, the dwVertexCount parameter gives the number of vertices to draw, but here it gives the total number of vertices in the array pointed to by the lpVertexArray parameter. When you call IDirect3DDevice7::DrawIndexedPrimitiveStrided, you specify the number of vertices to draw in the dwIndexCount parameter.
If the method succeeds, the return value is D3D_OK.
If the method fails, the return value can be one of the following values:
D3DERR_INVALIDRAMPTEXTURE |
D3DERR_INVALIDPRIMITIVETYPE |
D3DERR_INVALIDVERTEXTYPE |
DDERR_INVALIDPARAMS |
DDERR_WASSTILLDRAWING |
Be sure that the vertices being rendered match the vertex format that you specify. For performance reasons, Direct3D does not attempt to verify that vertex size and stride match the provided flexible vertex format. If a mismatch occurs, a memory fault is likely to result.
This method should not be used when rendering from a vertex buffer, use a vertex buffer method instead.
This method, unlike its predecessor in previous interfaces, does not accept the D3DDP_DONOTCLIP, D3DDP_DONOTLIGHT, and D3DDP_DONOTUPDATEEXTENTS flags in the dwFlags parameter. The functionality offered by these flags is now available through the D3DRENDERSTATE_CLIPPING, D3DRENDERSTATE_LIGHTING, and D3DRENDERSTATE_EXTENTS render states.
This method does not support transformed vertices. Therefore, if you include the D3DFVF_XYZRHW vertex format descriptor in the dwVertexTypeDesc parameter, the method fails, returning D3DERR_INVALIDVERTEXTYPE.
Windows NT/2000: Requires Windows 2000.
Windows 95/98: Requires Windows 95 or later. Available as a redistributable for Windows 95.
Version: Requires DirectX 7.0.
Header: Declared in d3d.h.
IDirect3DDevice7::DrawPrimitive, IDirect3DDevice7::DrawPrimitiveStrided, IDirect3DDevice7::DrawPrimitiveVB, IDirect3DDevice7::DrawIndexedPrimitive, IDirect3DDevice7::DrawIndexedPrimitiveVB, Strided Vertex Format