Microsoft DirectX 8.1 (vertex shader versions 1.0, 1.1)

min

Calculates the minimum of the sources.

min dest, src0, src1

Registers

dest
Destination register.
src0
Input source register.
src1
Input source register.

To learn more about registers, see Registers.

Remarks

The following code fragment shows the operations performed.

dest.x=(src0.x < src1.x) ? src0.x : src1.x;
dest.y=(src0.y < src1.y) ? src0.y : src1.y;
dest.z=(src0.z < src1.z) ? src0.z : src1.z;
dest.w=(src0.w < src1.w) ? src0.w : src1.w;

Example

// This example adds two constant colors. This combines the rgb 
// components of each color to produce the final color. 

vs.1.0
m4x4 oPos, v0, c0	; transform vertices by view/projection matrix

mov r0, c6  		; load off-white
mov r1, c7	    	; load gray
min r2, r1, r0		; pick min color values
mov oD0, r2                ; output

// The resultant vertex color is gray because the gray color components 
// are less than the off-white color components.
// Additional code is used to initialize the constant registers. 

D3DXMATRIX mat, matView, matProj;
D3DXMatrixMultiply(&mat, &matView, &matProj);
D3DXMatrixTranspose(&mat, &mat);
// set C0 with the view and projection matrix
m_pd3dDevice->SetVertexShaderConstant(0, &mat, 4);

// set register c6
float colorOffWhite[] = {0.9f, 0.9f, 0.9f, 0.9f};
m_pd3dDevice->SetVertexShaderConstant(6, &colorOffWhite, 1);

// set register c7
float colorGray[] = {0.5f, 0.5f, 0.5f, 0.5f};
m_pd3dDevice->SetVertexShaderConstant(7, &colorGray, 1);

// The c0 register is loaded with the view and projection matrix using 
// the m4x4 instruction (the m4x4 instruction also uses the c1, c2 and 
// c3 registers). The last two methods set the constant color registers 
// c6 and c7.