D3DHAL_DP2OPERATION
This enumerated type specifies the D3dDrawPrimitives2 operation in the bCommand member of the D3DHAL_DP2COMMAND structure. The following primitive-rendering enumerators table shows the enumerated operations.
Operation | Description |
---|---|
D3DDP2OP_CLIPPEDTRIANGLEFAN | This token is sent to the driver to draw transformed, clipped triangle fans. This token is a replacement for the Microsoft DirectX® 7.0 tokens that used inline vertices in the command stream.
The triangle fans are specified by one or more D3DHAL_CLIPPEDTRIANGLEFAN structures. |
D3DDP2OP_DRAWINDEXEDPRIMITIVE | This token is sent to the driver to draw indexed primitives. D3DDP2OP_DRAWINDEXEDPRIMITIVE2 is used if the vertex data has been transformed by the run time.
The indexed primitives are specified by one or more D3DHAL_DP2DRAWINDEXEDPRIMITIVE structures. |
D3DDP2OP_DRAWINDEXEDPRIMITIVE2 | This token is sent to the driver to draw indexed primitives if the vertex data has been transformed by the run time. Stream zero contains transform and lit vertices and is the only stream that should be accessed.
The indexed primitives are specified by one or more D3DHAL_DP2DRAWINDEXEDPRIMITIVE2 structures. |
D3DDP2OP_DRAWPRIMITIVE | This token is sent to the driver to draw nonindexed primitives. D3DDP2OP_DRAWPRIMITIVE2 is used if the vertex data has been transformed by the run time.
The primitives are specified by one or more D3DHAL_DP2DRAWPRIMITIVE structures. |
D3DDP2OP_DRAWPRIMITIVE2 | This token is sent to the driver to draw nonindexed primitives where the vertex data has been transformed by the run time. Stream zero contains transform and lit vertices and is the only stream that should be accessed.
The primitives are specified by one or more D3DHAL_DP2DRAWPRIMITIVE2 structures. |
D3DDP2OP_DRAWRECTPATCH | This token is sent to the driver to draw a rectangular patch. This token is sent to the driver when drawing a new patch, drawing a cached patch or to update the specification of a previously defined patch.
The patches are specified by one or more D3DHAL_DP2DRAWRECTPATCH structures. |
D3DDP2OP_DRAWTRIPATCH | This token is sent to the driver to draw a triangular patch. This token is sent to the driver when drawing a new patch, drawing a cached patch or to update the specification of a previously defined patch. |
D3DDP2OP_INDEXEDLINELIST | Draws a list of lines, with each line specified by a pair of vertex indexes. The indexed line list is specified by one or more D3DHAL_DP2INDEXEDLINELIST structures. |
D3DDP2OP_INDEXEDLINELIST2 | Draws a list of lines. A pair of vertex indexes specifies each line, with each offset from the beginning of the vertex buffer by a fixed amount. The indexed line list is specified by one or more D3DHAL_DP2INDEXEDLINELIST structures. |
D3DDP2OP_INDEXEDLINESTRIP | Draws a connected strip of lines defined by a sequence of vertex indexes. The indexed line strip is specified by a D3DHAL_DP2INDEXEDLINESTRIP structure. |
D3DDP2OP_INDEXEDTRIANGLEFAN | Draws a triangle fan. The triangle fan is specified by a sequence of vertex indexes. The indexed triangle fan is specified by a D3DHAL_DP2INDEXEDTRIANGLEFAN structure. |
D3DDP2OP_INDEXEDTRIANGLELIST | Draws a list of triangles. Each triangle is specified by three indexes into the vertex buffer, one index per triangle vertex. The triangle list is specified by one or more D3DHAL_DP2INDEXEDTRIANGLELIST structures. |
D3DDP2OP_INDEXEDTRIANGLELIST2 | Draws a list of triangles. Each triangle is specified by three indexes into the vertex buffer, one index per triangle vertex. The triangle list is specified by one or more D3DHAL_DP2INDEXEDTRIANGLELIST2 structures. |
D3DDP2OP_INDEXEDTRIANGLESTRIP | Draws a connected strip of triangles that are specified by a sequence of vertex indexes. The three most current vertex indexes are used to draw each triangle. The indexed triangle list is specified by a D3DHAL_DP2INDEXEDTRIANGLELIST structure. |
D3DDP2OP_LINELIST | Draws a list of lines. A pair of vertices specifies each line. The vertices are processed in sequential order starting at an initial specified vertex index. The line list is specified by a D3DHAL_DP2LINELIST structure. |
D3DDP2OP_LINELIST_IMM | Draws a set of lines. A pair of vertices stored in the command stream (immediate data Each line is specified by) specifies each line. The wPrimitiveCount member of the D3DHAL_DP2COMMAND structure specifies how many pairs of vertices follow. The type and size of the vertices are determined by the dwVertexType member of the D3DHAL_DRAWPRIMITIVES2DATA structure. |
D3DDP2OP_LINESTRIP | Draws a connected strip of lines defined by a sequence of vertices starting at an initial specified vertex index. The line strip is specified by a D3DHAL_DP2LINESTRIP structure. |
D3DDP2OP_POINTS | Draws a list of indexed or nonindexed points. Each list is specified by one or more D3DHAL_DP2POINTS structures. |
D3DDP2OP_TRIANGLEFAN | Draws a triangle fan. The fan is specified by a sequence of vertices that start at an initial specified vertex index. The triangle fan is specified by a D3DHAL_DP2TRIANGLEFAN structure. |
D3DDP2OP_TRIANGLEFAN_IMM | Draws a triangle fan. The fan is specified by a sequence of vertices stored in the command stream (immediate data). The wPrimitiveCount member of the D3DHAL_DP2COMMAND structure specifies the number of triangles to render. The type and size of the vertices are specified by the dwVertexType member of the D3DHAL_DRAWPRIMITIVES2DATA structure. |
D3DDP2OP_TRIANGLELIST | Draws a list of triangles. Each triangle is specified by three vertices that are processed starting at an initial specified vertex index. The triangles are processed in sequential order. The triangle list is specified by a D3DHAL_DP2TRIANGLELIST structure. |
D3DDP2OP_TRIANGLESTRIP | Draws a connected strip of triangles. Each triangle is specified by a sequence of vertices starting at an initial specified vertex index. The three most current vertices are used to draw each triangle. The triangle list is specified by a D3DHAL_DP2TRIANGLESTRIP structure. |
The following nonprimitive-rendering enumerators table shows the enumerated operations.
Operation | Description |
---|---|
D3DDP2OP_BUFFERBLT | Specifies a blit operation from a source vertex or index buffer to a destination vertex or index buffer. It is specified by one or more D3DHAL_DP2BUFFERBLT structures. |
D3DDP2OP_CLEAR | Specifies a clear operation. Replaces the Clear and Clear2 callbacks. See D3DHAL_DP2CLEAR. |
D3DDP2OP_CREATELIGHT | Creates a light. See D3DHAL_DP2CREATELIGHT. |
D3DDP2OP_CREATEPIXELSHADER | This token is sent to the driver when a pixel shader is created. This token gives the driver the opportunity to convert the pixel shader code into a hardware specific format and associate this information with the given shader handle. |
D3DDP2OP_CREATEVERTEXSHADER | This token is sent to the driver when a vertex shader is created. This token gives the driver the opportunity to convert the vertex shader declaration and code into a hardware specific format and associate this information with the given shader handle. |
D3DDP2OP_DELETEPIXELSHADER | This token is sent to the driver to notify the driver of the deletion of a pixel shader and to give the driver an opportunity to clean up any driver side resources associated with the given pixel shader.
Note that this uses the same structure (D3DHAL_DP2PIXELSHADER) as D3DDP2OP_SETVPIXELSHADER. |
D3DDP2OP_DELETEVERTEXSHADER | This token is sent to the driver to notify the driver of the deletion of a vertex shader and to give the driver an opportunity to clean up any driver side resources associated with the given vertex shader.
Note that this uses the same structure (D3DHAL_DP2VERTEXSHADER) as D3DDP2OP_SETVERTEXSHADER. |
D3DDP2OP_EXT | Behavior not yet defined. See D3DHAL_DP2EXT. |
D3DDP2OP_MULTIPLYTRANSFORM | Multiplies a current transform. See D3DHAL_DP2MULTIPLYTRANSFORM. |
D3DDP2OP_RENDERSTATE | Specifies a render state change that requires processing. The rendering state to change is specified by one or more D3DHAL_DP2RENDERSTATE structures. |
D3DDP2OP_SETCLIPPLANE | Specifies that a user-defined clip plane is being used. See D3DHAL_DP2SETCLIPPLANE. |
D3DDP2OP_SETINDICES | Sets the current index buffer. See D3DHAL_DP2SETINDICES. |
D3DDP2OP_SETLIGHT | Specifies that a light is being set. See D3DHAL_DP2SETLIGHT. |
D3DDP2OP_SETMATERIAL | Sets the properties for a material. D3DHAL_DP2SETMATERIAL is a D3DMATERIAL7 structure (described in the DirectX® SDK documentation) that is used to set the material properties. |
D3DDP2OP_SETPALETTE | Specifies that the palette is being set for a texture. See D3DHAL_DP2SETPALETTE. |
D3DDP2OP_SETPIXELSHADER | This token is passed to the driver to set the current pixel shader. All subsequent drawing operations should use the given shader until another is selected.
Note that this uses the same structure (D3DHAL_DP2PIXELSHADER) as D3DDP2OP_DELETEPIXELSHADER. |
D3DDP2OP_SETPIXELSHADERCONST | This token is passed to the driver to set one or more pixel shader constant registers. |
D3DDP2OP_SETPRIORITY | Sets the priority of a managed texture. See D3DHAL_DP2SETPRIORITY. |
D3DDP2OP_SETRENDERTARGET | Sets the render target. Direct3D drivers must respond to this opcode exactly the same as with the older SetRenderTarget callback. See D3DHAL_DP2SETRENDERTARGET. |
D3DDP2OP_SETSTREAMSOURCE | Binds a vertex stream source to a vertex buffer. See D3DHAL_DP2SETSTREAMSOURCE. |
D3DDP2OP_SETSTREAMSOURCEUM | Binds a vertex stream source to a user memory buffer. |
D3DDP2OP_SETTEXLOD | Indicates that the level of detail (LOD) for MIP maps is being set. See D3DHAL_DP2SETTEXLOD. |
D3DDP2OP_SETTRANSFORM | Sets up a transform. See D3DHAL_DP2SETTRANSFORM. |
D3DDP2OP_SETVERTEXSHADER | This token is passed to the driver to set the current vertex shader. All subsequent drawing operations should use the given shader until another is selected.
Note that this uses the same structure (D3DHAL_DP2VERTEXSHADER) as D3DDP2OP_DELETEVERTEXSHADER. |
D3DDP2OP_SETVERTEXSHADERCONST | This token is passed to the driver to set one or more vertex shader constant registers. |
D3DDP2OP_STATESET | Specifies a stateset operation to perform. See D3DHAL_DP2STATESET. |
D3DDP2OP_TEXBLT | Specifies a blit operation from a source texture to a destination texture. It is used as a more efficient alternative to the Microsoft DirectDraw® Blt DDI. It is specified by one or more D3DHAL_DP2TEXBLT structures. Because Direct3D drivers maintain all the state necessary to do a blit (for example, texture handles and blending modes), a blit can be accomplished with just the information in the D3DDP2OP_TEXBLT opcode. This new token signals the driver that a texture has to be transferred from system memory into local or nonlocal video memory. |
D3DDP2OP_TEXTURESTAGESTATE | Specifies a texture render state change that requires processing. The render state to change is specified by one or more D3DTEXTURESTAGESTATETYPE values following a D3DHAL_DP2COMMAND. |
D3DDP2OP_UPDATEPALETTE | Specifies that a texture palette is to be updated. See D3DHAL_DP2UPDATEPALETTE. |
D3DDP2OP_VIEWPORTINFO | Specifies the clipping rectangle that is used for guard-band clipping by guard-band aware drivers. The clipping rectangle (that is, the viewing rectangle) is specified by the D3DHAL_DP2VIEWPORTINFO structure. |
D3DDP2OP_VOLUMEBLT | Specifies a blit operation from a source volume texture to a destination volume texture. It is specified by one or more D3DHAL_DP2VOLUMEBLT structures. |
D3DDP2OP_WINFO | Specifies the w range for w buffering. This range is specified by one or more D3DHAL_DP2WINFO structures. |
D3DDP2OP_ZRANGE | Specifies the range of z values. See D3DHAL_DP2ZRANGE. |
See Also
D3dDrawPrimitives2 | D3DHAL_DP2COMMAND | D3DHAL_CLIPPEDTRIANGLEFAN | D3DHAL_DP2DRAWINDEXEDPRIMITIVE | D3DHAL_DP2DRAWINDEXEDPRIMITIVE2 | D3DHAL_DP2DRAWPRIMITIVE | D3DHAL_DP2DRAWPRIMITIVE2 | D3DHAL_DP2INDEXEDLINESTRIP | D3DHAL_DP2INDEXEDTRIANGLEFAN | D3DHAL_DP2INDEXEDTRIANGLELIST | D3DHAL_DP2INDEXEDTRIANGLELIST2 | D3DHAL_DRAWPRIMITIVES2DATA | D3DHAL_DP2BUFFERBLT | D3DHAL_DP2CLEAR | D3DHAL_DP2CREATELIGHT | D3DHAL_DP2PIXELSHADER | D3DHAL_DP2VERTEXSHADER | D3DHAL_DP2EXT | D3DHAL_DP2MULTIPLYTRANSFORM | D3DHAL_DP2RENDERSTATE | D3DHAL_DP2SETCLIPPLANE | D3DHAL_DP2SETINDICES | D3DHAL_DP2SETLIGHT | D3DHAL_DP2SETPALETTE | D3DHAL_DP2SETPRIORITY | D3DHAL_DP2SETRENDERTARGET | D3DHAL_DP2SETSTREAMSOURCE | D3DHAL_DP2SETTEXLOD | D3DHAL_DP2SETTRANSFORM | D3DHAL_DP2STATESET | D3DHAL_DP2TEXBLT | D3DHAL_DP2UPDATEPALETTE | D3DHAL_DP2VIEWPORTINFO | D3DHAL_DP2WINFO | D3DHAL_DP2ZRANGE | Direct3D Driver Enumerations
Last updated on Tuesday, May 18, 2004
© 1992-2003 Microsoft Corporation. All rights reserved.