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,
} D3DOPCODE;
Contains the opcodes for execute buffers.
Sends a point to the renderer. Operand data is described by the D3DPOINT structure.
Sends a line to the renderer. Operand data is described by the D3DLINE structure.
Sends a triangle to the renderer. Operand data is described by the D3DTRIANGLE structure.
Triggers a data transfer in the rendering engine. Operand data is described by the D3DMATRIXLOAD structure.
Triggers a data transfer in the rendering engine. Operand data is described by the D3DMATRIXMULTIPLY structure.
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.
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.
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.
Sets both lighting and transformations for vertices. Operand data is described by the D3DPROCESSVERTICES structure.
Triggers a data transfer in the rendering engine. Operand data is described by the D3DTEXTURELOAD structure.
Signals that the end of the list has been reached.
Enables a branching mechanism within the execute buffer. For more information, see the D3DBRANCH structure.
Spans a list of points with the same y value. For more information, see the D3DSPAN structure.
Resets the status of the execute buffer. For more information, see the D3DSTATUS structure.
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.