shader% = shader created by dxCreatePixelShader or dxCreateVertexShader
constant$ = index of shader constant
type% =
the variable's type - this will inform hardwired on how to treat this variable. Below if a list of each type and its function....
MANUAL TYPES
1 = float type - Define this constant as a float and you will be able to change the value of this float with the dxSetFloatShader command between frames to any float value
2 = float2 type - Define this constant as a float2 and you will be able to change the value of a constant containing a group of two float variables with the dxSetFloat2Shader command between frames to any float value
3 = float3 type - Define this constant as a float3 and you will be able to change the value of a constant containing a group of three float variables with the dxSetFloat3Shader command between frames to any float value
4 = float4 type - Define this constant as a float4 and you will be able to change the value of a constant containing a group of four float variables with the dxSetFloat2Shader command between frames to any float value
5 = int type - Define this constant as a int and you will be able to change the value of this int with the dxSetIntShader command between frames to any int value
6 = int2 type - Define this constant as a int2 and you will be able to change the value of a constant containing two int values with the dxSetInt2Shader command between frames to any int value
7 = int3 type - Define this constant as a int3 and you will be able to change the value of a constant containing three int values with the dxSetInt3Shader command between frames to any int value
8 = int4 type - Define this constant as a int4 and you will be able to change the value of a constant containing four int values with the dxSetInt4Shadercommand between frames to any int value
9 = bool type - Define this constant as a bool and you will be able to change the value of this float with the dxSetBoolShader command between frames to any boolean value
10 = matrix type - Define this constant as a matrix and you will be able to change the value of this float with the dxSetMatrixShader command between frames to any float value
AUTOMATIC TYPES
11 = entity matrix type - Signals hardwired to automatically set this constant to the matrix value holding the entity's position, rotation and scalar value that the shader is assigned to. This constant will be updated by the hardwired renderer.
12 = projection matrix - Signals hardwired to automatically set this constant to the projection matrix, this matrix hold the information about the currently used camera and is used to convert coordinates for rendering.
13 = view matrix - signals hardwired to automatically set this constant to the view matrix, this matrix is used to convert between 3d projection coordinates and 2d screen coordinates.
14 = entity projection view matrix - the values of the entity matrix multiplied by the projection matrix and the view matrix
15 = entity proection matrix - the values of the entity matrix multiplied by the projection matrix
16= entity view matrix - the values of the entity matrix multiplied by the view matrix
17= view projection matrix - the values of the view matrix multiplied by the projection matrix
18 to 25 = light number 1 to 8's matrix - signals hardwired to set the constant to the light's matrix (holding it's position and rotational values). In the hardwired renderer, light number 1 corresponds to the closest light to the currently used camera, number 2 in the next closest and so on.
26 to 33 = light number 1 to 8's position - signals hardwired to set the constant to the light's positional values, this is a 3 float constant,a float for each x,y and z.
34 to 41 = light number 1 to 8's direction - signals hardwired to set the constant to the light's directional values, this is a 3 float constant,a float for each x,y and z.
flags% - Indicates to hardwired of any special processes that constant must receive before being sent to its shader
1 = Transpose - When applicable, this flag will transpose a value before writing to the shader constant
2 = Inverse - When applicable, this flag will inverse a value before writing to the shader constant
4 = Normalise - When applicable, this flag will normalise a value before writing to the shader constant
8 = No position - When applicable, will signal hardwired not to send positional information to the shader
16= No rotation - When applicable, will signal hardwired not to send rotational information to the shader
32= No scale - When applicable, will signal hardwired not to send scalar information to the shader
|