In computer graphics, wrapping is the process of limiting a position to an area. A good example of wrapping is wallpaper, a single pattern repeated indefinitely over a wall. Wrapping is used in 3D computer graphics to repeat a texture over a polygon, eliminating the need for large textures or multiple polygons.
To wrap a position x to an area of width w, calculate the value x' \equiv x \pmod{w}.
Implementation
For computational purposes the wrapped value x of x can be expressed as
 x' = x  \lfloor (x  x_{min}) / (x_{max}  x_{min}) \rfloor * (x_{max}  x_{min})
where x_{max} is the highest value in the range, and x_{min} is the lowest value in the range.
Pseudocode for wrapping of a value to a range other than 01 is function wrap(X, Min, Max: Real): Real; X := X  Int((X  Min) / (Max  Min)) * (Max  Min); if X < 0 then //This corrects the problem caused by using Int instead of Floor X := X + Max  Min; return X;
Pseudocode for wrapping of a value to a range of 01 is function wrap(X: Real): Real; X := X  Int(X); if X < 0 then X := X + 1; return X;
Pseudocode for wrapping of a value to a range of 01 without branching is, function wrap(X: Real): Real; return ((X mod 1.0) + 1.0) mod 1.0;
See also
