Public Types | |
typedef void(* | TextureSampler) (Iop *material, const Vector2 ¢er, const Vector2 &dU, const Vector2 &dV, TextureFilter *f, Pixel &out, void *context) |
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) |
TextureSampler | texture_sampler () const |
void | set_texture_sampler (TextureSampler t) |
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.
typedef void(* DD::Image::VertexContext::TextureSampler) (Iop *material, const Vector2 ¢er, const Vector2 &dU, const Vector2 &dV, TextureFilter *f, Pixel &out, void *context) |
Callback to redefine the texture sampler
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().
Iop* DD::Image::VertexContext::blending_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().
bool DD::Image::VertexContext::texture_sampling |
Whether shaders should sample their textures.
Referenced by DD::Image::Iop::fragment_shader(), and DD::Image::Render::Span::initialize().
©2021 The Foundry Visionmongers, Ltd. All Rights Reserved. |