vpRamp(3)

NAME
vpRamp - initialize an array with a piecewise-linear ramp

SYNOPSIS
#include <volpack.h>

vpRamp(array, stride, num_points, ramp_x, ramp_y) float *array; int stride; int num_points; int *ramp_x; float *ramp_y;

ARGUMENTS

array
    Output array.

stride
    Stride from one array element to the next, in bytes.

num_points
    Number of entries in the input arrays (ramp_x and ramp_y).

ramp_x
    Input array containing indices into array.

ramp_y
    Input array containing values to store into array.

DESCRIPTION
vpRamp is a utility routine for initializing linear arrays of floating-point numbers with piecewise-linear ramps. A ramp is defined by a set of (x, y) pairs. The X coordinates are integers that index entries in the array argument, and the Y coordinates are floating-point values to store into the array. Linearly-interpolated Y values are stored in array elements with indexes in between two of the X values.

The values in ramp_x most be strictly increasing. The stride argument may be used to skip array elements or to initialize arrays with a non-standard stride. If the output array is a simple linear array of type float then the stride should be sizeof(float).

This function is useful for creating lookup tables used for opacity transfer functions (see vpSetClassifierTable(3)) and shading functions (see vpSetLookupShader(3)).

ERRORS
The normal return value is VP_OK. The following error return value is possible:

VPERROR_BAD_VALUE
    The number of points is less than one or the X values are not strictly increasing.

SEE ALSO
VolPack(3)