frc - vs

Returns the fractional portion of each input component.


frc dst, src



  • dst is the destination register.
  • src is a source register.


Vertex shader versions 1_1 2_0 2_x 2_sw 3_0 3_sw
frc x x x x x x


The following code fragment shows conceptually how the instruction operates.

dest.x = src.x - (float)floor(src.x);
dest.y = src.y - (float)floor(src.y);
dest.z = src.z - (float)floor(src.z);
dest.w = src.w - (float)floor(src.w);

The floor function converts the argument passed in to the greatest integer that is less than (or equal to) the argument. This is converted to a float and then subtracted fom the original value. The resulting fractional value ranges from 0.0 through 1.0.

For version 1_1, the allowable write masks are .y and .xy (.x is not allowed).

Vertex Shader Instructions