#include <VertexContext.h>
Public Member Functions | |
VArray (const ChannelSetInit c) | |
VArray (const ChannelSet &c) | |
VArray (Channel c) | |
VArray (const VArray &b) | |
float & | operator[] (Channel z) |
const float & | operator[] (Channel z) const |
float * | array () |
VArray & | operator= (const VArray &v) |
Vector4 & | P () const |
float | x () const |
float | y () const |
float | z () const |
float | w () const |
Vector3 & | PL () const |
Vector3 & | PW () const |
Vector3 & | MB () const |
Vector4 & | UV () const |
Vector3 & | N () const |
Vector4 & | Cf () const |
float | r () const |
float | g () const |
float | b () const |
float | a () const |
Vector3 & | VEL () const |
void | lerp (const VArray &b, float t) |
void | offset (const VArray &b, const VArray &delta, float t) |
void | scale (float s) |
void | offset (const VArray &b, const VArray &dx, float x, const VArray &dy, float y) |
void | midpoint (const VArray &a, const VArray &b) |
void | w_normalize () |
Divide all the channels by w, and put 1/w into w. | |
Public Attributes | |
ChannelSet | channels |
float | chan [VARRAY_CHANS] |
Array of floating point numbers that are interpolated across a primitive. A VertexContext contains 4 of these: the current value, the derivatives horizontally and vertically, and the value at X=0.
|
inline |
Destructive linear interpolate between this and VArray b by t.
Sets it to b+delta*t
|
inline |
Scale the VArray.
|
inline |
Sets it to b+dx*x+dy*y
Sets it to the midpoint between a and b ((a+b)/2).
void VArray::w_normalize | ( | ) |
Divide all the channels by w, and put 1/w into w.
Divide all the channels by w, and put 1/w into w. The resulting values can then be linearly interpolated in screen space. Don't forget to divide by w to get the original values back, unless the divided value is useful (which is only true for xyz).
Referenced by DD::Image::rPoint::add_to_render().
©2024 The Foundry Visionmongers, Ltd. All Rights Reserved. |