Hubbry Logo
search button
Sign in
Wrapping (graphics)
Wrapping (graphics)
Comunity Hub
History
arrow-down
starMore
arrow-down
bob

Bob

Have a question related to this hub?

bob

Alice

Got something to say related to this hub?
Share it here.

#general is a chat channel to discuss anything related to the hub.
Hubbry Logo
search button
Sign in
Wrapping (graphics)
Community hub for the Wikipedia article
logoWikipedian hub
Welcome to the community hub built on top of the Wrapping (graphics) Wikipedia article. Here, you can discuss, collect, and organize anything related to Wrapping (graphics). The purpose of the hub is to c...
Add your contribution
Wrapping (graphics)

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 .

Implementation

[edit]

For computational purposes the wrapped value x' of x can be expressed as

where is the highest value in the range, and is the lowest value in the range.

Pseudocode for wrapping of a value to a range other than 0–1 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 0–1 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 0–1 without branching is,

function wrap(X: Real): Real;
    return ((X mod 1.0) + 1.0) mod 1.0;

See also

[edit]