Microsoft DirectX 8.0 (Visual Basic)

dp3

Computes the three-component dot product of the sources.

dp3   vDest, vSrc0, vSrc1

Registers

vDest
Destination register, holding the result of the operation.
vSrc0
Source register, specifying the input argument.
vSrc1
Source register, specifying the input argument.

Operation

The following code fragment shows the operations performed by the dp3 instruction to write a result to the destination.

    SetDestReg();
    SetSrcReg(0);
    SetSrcReg(1);

    m_TmpReg.x =
    m_TmpReg.y =
    m_TmpReg.z =
    m_TmpReg.w = m_Source[0].x * m_Source[1].x +
                 m_Source[0].y * m_Source[1].y +
                 m_Source[0].z * m_Source[1].z;

    WriteResult();

Remarks

The following example illustrates how the dp3 instruction might be used.

dp3 r2, r0, r1
dp3 r2.x, r0, r1