DD::Image::RenderScene Class Reference

3D image renderer parent class More...

Inherits DD::Image::Render.

List of all members.

Public Member Functions

void knobs (Knob_Callback)
int knob_changed (Knob *k)
Op::HandlesMode doAnyHandles (ViewerContext *ctx)
void build_handles (ViewerContext *)
int minimum_inputs () const
int maximum_inputs () const
int split_input (int) const
const OutputContextinputContext (int, int, OutputContext &) const
bool test_input (int input, Op *op) const
Opdefault_input (int input) const
const char * input_label (int input, char *buffer) const
bool transparency () const
bool ztest_enabled () const
double zblend_range ()
int zblend_mode ()
virtual void detach ()
virtual void attach ()

Protected Types

enum  { kZBlendNone, kZBlendLinear, kZBlendSmooth }

Protected Member Functions

 RenderScene (Node *node, bool enable_mip_filter=false)
void _validate (bool)
void _request (int x, int y, int r, int t, ChannelMask, int)
void initialize_span_context (Span &span)
CameraOprender_camera (int sample=0)
GeoOprender_geo (int sample=0)
Matrix4 camera_matrix (int sample=0)
Matrix4 projection_matrix (int sample=0)

Protected Attributes

bool uniform_distribution_
 If true uniform distribuite the scenes over times.
int stochastic_samples_
 Number of sample for pixel to use in the stocastic reconstruction.
bool output_shader_vectors
Channel P_channel [3]
 P(osition) vector to output.
Channel N_channel [3]
 N(ormal) vector to output.

Detailed Description

3D image renderer parent class


Member Function Documentation

CameraOp * RenderScene::render_camera ( int  sample = 0) [protected, virtual]

Returns the camera attached to input 2(if available,) otherwise 0.

Reimplemented from DD::Image::Render.

References DD::Image::CameraOp::default_camera(), DD::Image::Iop::input(), DD::Image::Op::inputs(), DD::Image::Render::output_motion_vectors, and DD::Image::Op::validate().

GeoOp * RenderScene::render_geo ( int  sample = 0) [protected, virtual]

Returns the GeoOp connected to input 1 for
sample.

Implements DD::Image::Render.

References DD::Image::Iop::input().

Matrix4 RenderScene::camera_matrix ( int  sample = 0) [protected, virtual]

Returns the inverse camera matrix for a particular sample. This supports jittering of the camera's position around the focal_point.

Reimplemented from DD::Image::Render.

References DD::Image::Render::scenes_.

Matrix4 RenderScene::projection_matrix ( int  sample = 0) [protected, virtual]

Returns the camera projection matrix for a particular sample. ARRGH! Egg makes this translate from -1..1 rather than pixels... This should be able to use CameraOp::to_format().

Reimplemented from DD::Image::Render.

References DD::Image::IopInfoOwner::info_, DD::Image::Iop::sample(), and DD::Image::Render::scenes_.

Op::HandlesMode RenderScene::doAnyHandles ( ViewerContext ctx) [virtual]

we have to shift the mode to perspective as downstream nodes will make decisions based upon that type.

Reimplemented from DD::Image::Render.

References DD::Image::ViewerContext::transform_mode(), DD::Image::VIEWER_2D, and DD::Image::VIEWER_PERSP.

int RenderScene::split_input ( int  n) const [virtual]

Return how many op inputs this operator requires for the arrow the user sees numbered n.

Reimplemented from DD::Image::Op.

References DD::Image::Render::output_motion_vectors.

const OutputContext & RenderScene::inputContext ( int  i,
int  j,
OutputContext context 
) const [virtual]