D3DOPCODE

The D3DOPCODE enumerated type contains the opcodes for execute buffer.

typedef enum _D3DOPCODE { 
    D3DOP_POINT           = 1, 
    D3DOP_LINE            = 2, 
    D3DOP_TRIANGLE        = 3, 
    D3DOP_MATRIXLOAD      = 4, 
    D3DOP_MATRIXMULTIPLY  = 5, 
    D3DOP_STATETRANSFORM  = 6, 
    D3DOP_STATELIGHT      = 7, 
    D3DOP_STATERENDER     = 8, 
    D3DOP_PROCESSVERTICES = 9, 
    D3DOP_TEXTURELOAD     = 10, 
    D3DOP_EXIT            = 11, 
    D3DOP_BRANCHFORWARD   = 12, 
    D3DOP_SPAN            = 13, 
    D3DOP_SETSTATUS       = 14, 
    D3DOP_FORCE_DWORD     = 0x7fffffff, 
} D3DOPCODE; 
 

Members

D3DOP_POINT
Sends a point to the renderer. Operand data is described by the D3DPOINT structure.
D3DOP_LINE
Sends a line to the renderer. Operand data is described by the D3DLINE structure.
D3DOP_TRIANGLE
Sends a triangle to the renderer. Operand data is described by the D3DTRIANGLE structure.
D3DOP_MATRIXLOAD
Triggers a data transfer in the rendering engine. Operand data is described by the D3DMATRIXLOAD structure.
D3DOP_MATRIXMULTIPLY
Triggers a data transfer in the rendering engine. Operand data is described by the D3DMATRIXMULTIPLY structure.
D3DOP_STATETRANSFORM
Sets the value of internal state variables in the rendering engine for the transformation module. Operand data is a variable token and the new value. The token identifies the internal state variable, and the new value is the value to which that variable should be set. For more information about these variables, see the D3DSTATE structure and the D3DTRANSFORMSTATETYPE enumerated type.
D3DOP_STATELIGHT
Sets the value of internal state variables in the rendering engine for the lighting module. Operand data is a variable token and the new value. The token identifies the internal state variable, and the new value is the value to which that variable should be set. For more information about these variables, see the D3DSTATE structure and the D3DLIGHTSTATETYPE enumerated type.
D3DOP_STATERENDER
Sets the value of internal state variables in the rendering engine for the rendering module. Operand data is a variable token and the new value. The token identifies the internal state variable, and the new value is the value to which that variable should be set. For more information about these variables, see the D3DSTATE structure and the D3DRENDERSTATETYPE enumerated type.
D3DOP_PROCESSVERTICES
Sets both lighting and transformations for vertices. Operand data is described by the D3DPROCESSVERTICES structure.
D3DOP_TEXTURELOAD
Triggers a data transfer in the rendering engine. Operand data is described by the D3DTEXTURELOAD structure.
D3DOP_EXIT
Signals that the end of the list has been reached.
D3DOP_BRANCHFORWARD
Enables a branching mechanism within the execute buffer. For more information, see the D3DBRANCH structure.
D3DOP_SPAN
This opcode is obsolete and is silently ignored. Spans a list of points with the same y value. For more information, see the D3DSPAN structure.
D3DOP_SETSTATUS
Resets the status of the execute buffer. For more information, see the D3DSTATUS structure.
D3DOP_FORCE_DWORD
Forces this enumerated type to be 32 bits in size.

Remarks

An execute buffer has two parts: an array of vertices (each typically with position, normal vector, and texture coordinates) and an array of opcode/operand groups. One opcode can have several operands following it; the system simply performs the relevant operation on each operand.

QuickInfo

  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

D3DINSTRUCTION