Public Member Functions | |
VertexContext (const VertexContext &vtx) | |
Scene * | scene () const |
void | set_scene (Scene *s) |
const GeoInfo * | geoinfo () const |
void | set_geoinfo (const GeoInfo *g) |
const Primitive * | primitive () const |
void | set_primitive (const Primitive *p) |
const GeoInfoRenderState * | get_renderstate () const |
void | set_renderstate (const GeoInfoRenderState *r) |
rPrimitive * | rprimitive () const |
void | set_rprimitive (rPrimitive *rp) |
Iop * | rmaterial () const |
void | set_rmaterial (Iop *m) |
Box3 & | face_uv_bbox () |
unsigned & | face_clipmask () |
void | set_transforms (MatrixArray *m) |
MatrixArray * | transforms () const |
const Matrix4 & | matrix (int n) const |
const Matrix4 & | inverse_matrix (int n) const |
PrimitiveTestCache * | ray_test_cache () const |
void | set_ray_test_cache (PrimitiveTestCache *r) |
Vector4 & | P () const |
Vector4 & | dPdu () const |
Vector4 & | dPdv () const |
float | x () const |
float | y () const |
float | z () const |
float | w () const |
Vector3 & | PL () const |
Vector3 & | dPLdu () const |
Vector3 & | dPLdv () const |
Vector3 & | PW () const |
Vector3 & | dPWdu () const |
Vector3 & | dPWdv () const |
Vector3 & | MB () const |
Vector3 & | dMBdu () const |
Vector3 & | dMBdv () const |
Vector4 & | UV () const |
Vector4 & | dUVdu () const |
Vector4 & | dUVdv () const |
Vector3 & | N () const |
Vector3 & | dNdu () const |
Vector3 & | dNdv () const |
Vector4 & | Cf () const |
Vector4 & | dCfdu () const |
Vector4 & | dCfdv () const |
float | r () const |
float | g () const |
float | b () const |
float | a () const |
Vector3 & | VEL () const |
Vector3 & | dVELdu () const |
Vector3 & | dVELdv () const |
void | sample (Iop *material, Pixel &out) const |
Public Attributes | |
VArray | vP |
Current values for fragment_shader. | |
VArray | vdX |
Change if X of render pixel is increased by 1. | |
VArray | vdY |
Change if Y of render pixel is increased by 1. | |
Vector3 | ambient |
Global ambient setting. | |
Iop * | blending_shader |
bool | texture_sampling |
void * | render_context |
This class is intended to be passed up a vertex shader tree. It's initialized with basic vertex info like the point location, a UV coordinate and a normal. A shader can then modify the parameters producing effects like point displacement, UV projection, and normal remapping.
Use the UV and the derivatives of UV to sample the incoming image. UV of 0,0 is mapped to the lower-left corner of the image's format, and 1,1 is mapped to the upper-right corner.
References DD::Image::IopInfoOwner::channels(), DD::Image::ChannelSet::contains(), DD::Image::IopInfoOwner::format(), DD::Image::Box::h(), DD::Image::Iop::sample(), DD::Image::Box::w(), DD::Image::Box::x(), and DD::Image::Box::y().
Referenced by DD::Image::Render::draw_primitives(), and DD::Image::Iop::fragment_shader().
Points at the final shader in the chain.
Referenced by DD::Image::Iop::fragment_shader(), DD::Image::Render::Span::initialize(), and DD::Image::Material::set_blending_shader().
Whether shaders should sample their textures.
Referenced by DD::Image::Iop::fragment_shader(), and DD::Image::Render::Span::initialize().