Microsoft DirectX 8.1 (vertex shader versions 1.0, 1.1) |
Calculates the minimum of the sources.
min dest, src0, src1
To learn more about registers, see Registers.
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;
// 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.