bem - ps

Apply a fake bump environment-map transform.

Syntax

bem dst.rg, src0, src1

where

Remarks

Pixel shader versions 1_1 1_2 1_3 1_4 2_0 2_x 2_sw 3_0 3_sw
bem x

This instruction performs the following calculation.

(Given n == dest register #)
dest.r = src0.r + D3DTSS_BUMPENVMAT00(stage n) * src1.r 
                + D3DTSS_BUMPENVMAT10(stage n) * src1.g

dest.g = src0.g + D3DTSS_BUMPENVMAT01(stage n) * src1.r
                + D3DTSS_BUMPENVMAT11(stage n) * src1.g

Rules for using bem:

  1. bem must appear in the first phase of a shader (that is, before a phase marker).
  2. bem consumes two arithmetic instruction slots.
  3. Only one use of this instruction is allowed per shader.
  4. Destination writemask must be .rg /.xy.
  5. This instruction cannot be co-issued.
  6. Aside from the restriction that destination write mask be .rg, modifiers on source src0, src1, and instruction modifiers are unconstrained.

Instruction Information

Minimum operating system Windows 98