Microsoft DirectX 8.1 (pixel shader versions 1.0, 1.1, 1.2, 1.3, 1.4) |
def
Provides a method to define constants to be used within the pixel shader.
def dest, fVal0, fVal1, fVal2, fVal3
Registers
Argument | Description | Registers | Version | |||
---|---|---|---|---|---|---|
vn | cn | tn | rn | |||
dest | Destination register | x | 1.0, 1.1, 1.2, 1.3, 1.4 | |||
fVal0, fVal1, fVal2, fVal3 | Source floating point value | N/A | N/A | N/A | N/A | 1.0, 1.1, 1.2, 1.3, 1.4 |
N/A Not applicable. The float values do not use registers.
Each of the float values in fVal0, fVal1, fVal2, fVal3 is between -1.0 and 1.0. This is not necessarily the number specified in MAXPIXELSHADERVALUE.
To learn more about registers, see Registers.
Remarks
def instructions must be placed after the version instruction and before any arithmetic or texture address instructions.
The def instruction is an alternative to setting pixel shader constants by calling SetPixelShaderConstant. When SetPixelShader is called, the def instruction is effectively translated into a SetPixelShaderConstant call. Constant registers that are initialized by the def instruction during SetPixelShader can be overwritten by calling SetPixelShaderConstant manually.
This instruction does not count against the instruction limit. It is stripped from the instruction stream prior to being sent to the driver.
For more information about MAXPIXELSHADERVALUE, see D3DCAPS8.
Example
// This example outputs a constant color. // The shader is shown below. ps.1.0 // version instruction def c0, 1.0f, 0.0f, 0.0f, 1.0f // set c0 register mov r0, c0 // output constant color