k3d::ri Namespace Reference

Contains functions and classes used to generate RenderMan compatible descriptions of a document. More...

Namespaces

namespace  detail
 

Contains private implementation details of the k3d::ri API.


Classes

class  iattribute_property
 Abstract interface for discovering information about a RenderMan attribute property. More...
class  idisplacement_shader
 Abstract interface implemented by objects that encapsulate a RenderMan displacement shader. More...
class  iimager_shader
 Abstract interface implemented by objects that encapsulate a RenderMan imager shader. More...
class  ilight
 Abstract interface for objects that can act as light sources while drawing RenderMan graphics. More...
class  ilight_shader
 Abstract interface implemented by objects that encapsulate a RenderMan light shader. More...
class  imaterial
 Abstract interface implemented by objects that can act as a surface material while drawing RenderMan graphics. More...
class  imesh_painter
 Abstract interface implemented by painter objects that can render a mesh using RenderMan. More...
class  ioption_property
 Abstract interface for discovering information about a RenderMan option property. More...
class  irender_engine
 Abstract interface for objects that provide an interface to specific RenderMan implementations. More...
class  irenderable
 Abstract interface for objects that can render themselves using the RenderMan API. More...
class  ishader_collection
 Abstract interface to a collection of RenderMan shaders stored by source path (used to keep track of shaders that need to be compiled). More...
class  istream
 Abstract binding to the Pixar RenderMan interface. More...
class  isurface_shader
 Abstract interface implemented by objects that encapsulate a RenderMan surface shader. More...
class  itexture
 Abstract interface implemented by objects that can act as texture sources while drawing RenderMan graphics. More...
class  ivolume_shader
 Abstract interface implemented by objects that encapsulate a RenderMan volume shader. More...
class  render_state
 Used to pass (potentially) useful rendering state from the renderer to the object being rendered. More...
class  renderable
 Adds a boilerplate implementation of k3d::ri::irender to a transformable base class, using the parameterized inheritance idiom. More...
class  shader_collection
 Provides a boilerplate implementation of k3d::ri::ishader_collection. More...
class  shader
 Abstract base class that provides most of the boilerplate for a RenderMan shader instance. More...
class  format_string
 Formats a string with real-quotes for inclusion in a RIB file; designed to be used as an inline formatting object. More...
class  format_matrix
 Formats a matrix for inclusion in a RIB file; designed to be used as an inline formatting object. More...
class  format_array_t
 Formats an array of values within square brackets for inclusion in a RIB file; designed to be used as an inline formatting object. More...
class  format_array_t< iterator_t, k3d::ri::string >
 Partial specialization of format_array_t for use with string values. More...
class  stream
 Provides a boilerplate implementation of k3d::ri::istream that writes RIB to a stream. More...
class  parameter
 Defines a named array of homogeneous RenderMan data. More...

Typedefs

typedef k3d::int32_t integer
 RenderMan integer datatype.
typedef k3d::uint32_t unsigned_integer
 RenderMan unsigned integer datatype.
typedef k3d::double_t real
 RenderMan real datatype.
typedef std::string string
 RenderMan string datatype.
typedef k3d::point3 point
 RenderMan point datatype.
typedef k3d::vector3 vector
 RenderMan vector datatype.
typedef k3d::normal3 normal
 RenderMan normal datatype.
typedef k3d::color color
 Renderman color datatype.
typedef k3d::point4 hpoint
 Renderman hpoint datatype.
typedef k3d::matrix4 matrix
 RenderMan matrix datatype.
typedef k3d::filesystem::path path
 Filesystem path datatype.
typedef k3d::bounding_box3 bound
 3D bounding-box datatype
typedef k3d::uint32_t light_handle
 RenderMan light handle datatype.
typedef k3d::uint32_t object_handle
 RenderMan object handle datatype.
typedef std::vector< integerintegers
 RenderMan integer array.
typedef std::vector
< unsigned_integer
unsigned_integers
 RenderMan unsigned integer array.
typedef std::vector< realreals
 RenderMan real array.
typedef std::vector< stringstrings
 RenderMan string array.
typedef std::vector< pointpoints
 RenderMan point array.
typedef std::vector< vectorvectors
 RenderMan vector array.
typedef std::vector< normalnormals
 RenderMan normal array.
typedef std::vector< colorcolors
 RenderMan color array.
typedef std::vector< hpointhpoints
 RenderMan hpoint array.
typedef std::vector< matrixmatrices
 RenderMan matrix array.
typedef std::list< parameterparameter_list
 Defines a collection of named arrays.
typedef std::vector< realsample_times_t
 Defines a collection of intra-frame sample times in the range [0, 1].

Enumerations

enum  storage_class_t {
  CONSTANT, UNIFORM, VARYING, VERTEX,
  FACEVARYING
}
 

Enumerates parameter storage classes defined by the RenderMan standard.

More...
enum  render_context_t {
  CSG_SOLID, OBJECT_INSTANCE, SHADOW_MAP, ENVIRONMENT_MAP,
  FINAL_FRAME
}
 

Enumerates possible values for the current render context.

More...

Functions

const std::string RI_A ()
 Provide definitions for the "standard" RenderMan tokens.
const std::string RI_ABORT ()
const std::string RI_AMBIENTLIGHT ()
const std::string RI_AMPLITUDE ()
const std::string RI_AZ ()
const std::string RI_BACKGROUND ()
const std::string RI_BEAMDISTRIBUTION ()
const std::string RI_BICUBIC ()
const std::string RI_BILINEAR ()
const std::string RI_BLACK ()
const std::string RI_BOX ()
const std::string RI_BUMPY ()
const std::string RI_CAMERA ()
const std::string RI_CATMULL_ROM ()
const std::string RI_CLAMP ()
const std::string RI_COMMENT ()
const std::string RI_CONEANGLE ()
const std::string RI_CONEDELTAANGLE ()
const std::string RI_CONSTANT ()
const std::string RI_CONSTANTWIDTH ()
const std::string RI_CS ()
const std::string RI_CUBIC ()
const std::string RI_DEPTHCUE ()
const std::string RI_DIFFERENCE ()
const std::string RI_DISTANCE ()
const std::string RI_DISTANTLIGHT ()
const std::string RI_FILE ()
const std::string RI_FLATNESS ()
const std::string RI_FOG ()
const std::string RI_FOV ()
const std::string RI_FRAMEBUFFER ()
const std::string RI_FROM ()
const std::string RI_GAUSSIAN ()
const std::string RI_HANDLER ()
const std::string RI_HIDDEN ()
const std::string RI_IDENTIFIER ()
const std::string RI_IGNORE ()
const std::string RI_INSIDE ()
const std::string RI_INTENSITY ()
const std::string RI_INTERSECTION ()
const std::string RI_KA ()
const std::string RI_KD ()
const std::string RI_KR ()
const std::string RI_KS ()
const std::string RI_LH ()
const std::string RI_LIGHTCOLOR ()
const std::string RI_LINEAR ()
const std::string RI_MATTE ()
const std::string RI_MAXDISTANCE ()
const std::string RI_METAL ()
const std::string RI_MINDISTANCE ()
const std::string RI_N ()
const std::string RI_NAME ()
const std::string RI_NONPERIODIC ()
const std::string RI_NP ()
const std::string RI_OBJECT ()
const std::string RI_ORIGIN ()
const std::string RI_ORTHOGRAPHIC ()
const std::string RI_OS ()
const std::string RI_OUTSIDE ()
const std::string RI_P ()
const std::string RI_PAINT ()
const std::string RI_PAINTEDPLASTIC ()
const std::string RI_PERIODIC ()
const std::string RI_PERSPECTIVE ()
const std::string RI_PLASTIC ()
const std::string RI_POINTLIGHT ()
const std::string RI_PRIMITIVE ()
const std::string RI_PRINT ()
const std::string RI_PW ()
const std::string RI_PZ ()
const std::string RI_RASTER ()
const std::string RI_RGB ()
const std::string RI_RGBA ()
const std::string RI_RGBAZ ()
const std::string RI_RGBZ ()
const std::string RI_RH ()
const std::string RI_ROUGHNESS ()
const std::string RI_S ()
const std::string RI_SCREEN ()
const std::string RI_SHINYMETAL ()
const std::string RI_SINC ()
const std::string RI_SMOOTH ()
const std::string RI_SPECULARCOLOR ()
const std::string RI_SPOTLIGHT ()
const std::string RI_ST ()
const std::string RI_STRUCTURE ()
const std::string RI_T ()
const std::string RI_TEXTURENAME ()
const std::string RI_TO ()
const std::string RI_TRIANGLE ()
const std::string RI_UNION ()
const std::string RI_WIDTH ()
const std::string RI_WORLD ()
const std::string RI_Z ()
void motion_begin (const render_state &State)
 Convenience function that opens a RIB motion block iff motion-blur is enabled.
void motion_end (const render_state &State)
 Convenience function that closes a RIB motion block iff motion-blur is enabled.
bool motion_blur (const render_state &State)
 Convenience function that returns true iff motion-blurred rendering is enabled.
bool first_sample (const render_state &State)
 Convenience function that returns true iff rendering the first sample in an image.
bool last_sample (const render_state &State)
 Convenience function that returns true iff rendering the last sample in an image.
const matrix convert (const k3d::matrix4 &Matrix)
 Converts a k3d::matrix4 into a form usable with RenderMan.
void setup_material (iunknown *const Material, const render_state &State)
void set_attributes (iproperty_collection &Properties, istream &Engine)
 Extracts RenderMan data from a property collection, generating corresponding calls to RiAttribute().
void set_options (iproperty_collection &Properties, istream &Stream)
 Extracts RenderMan data from a property collection, generating corresponding calls to RiOption().
std::ostream & operator<< (std::ostream &Stream, const storage_class_t RHS)
 Serializes storage_class_t to a stream.
long & inline_types_storage (std::ios &Stream)
bool inline_types (std::ostream &Stream)
 iostream-compatible manipulator that returns true iff inline types are enabled for an output stream
bool set_inline_types (std::ostream &Stream, const bool Enabled)
 iostream-compatible manipulator that controls whether inline types are enabled for an output stream
std::ostream & operator<< (std::ostream &Stream, const format_string &RHS)
std::ostream & operator<< (std::ostream &Stream, const format_matrix &RHS)
std::ostream & operator<< (std::ostream &Stream, const parameter &RHS)
 Serializes a parameter to a stream.
std::ostream & operator<< (std::ostream &Stream, const parameter_list &RHS)
 Serializes a parameter list to a stream.
template<typename iterator_t >
format_array_t< iterator_t,
typename std::iterator_traits
< iterator_t >::value_type > 
format_array (const iterator_t Begin, const iterator_t End)
 Convenience factory function for creating format_array_t objects.

Detailed Description

Contains functions and classes used to generate RenderMan compatible descriptions of a document.


Typedef Documentation

3D bounding-box datatype

Renderman color datatype.

typedef std::vector<color> k3d::ri::colors

RenderMan color array.

Renderman hpoint datatype.

typedef std::vector<hpoint> k3d::ri::hpoints

RenderMan hpoint array.

RenderMan integer datatype.

typedef std::vector<integer> k3d::ri::integers

RenderMan integer array.

RenderMan light handle datatype.

typedef std::vector<matrix> k3d::ri::matrices

RenderMan matrix array.

RenderMan matrix datatype.

RenderMan normal datatype.

typedef std::vector<normal> k3d::ri::normals

RenderMan normal array.

RenderMan object handle datatype.

typedef std::list<parameter> k3d::ri::parameter_list

Defines a collection of named arrays.

Filesystem path datatype.

RenderMan point datatype.

typedef std::vector<point> k3d::ri::points

RenderMan point array.

RenderMan real datatype.

typedef std::vector<real> k3d::ri::reals

RenderMan real array.

typedef std::vector<real> k3d::ri::sample_times_t

Defines a collection of intra-frame sample times in the range [0, 1].

typedef std::string k3d::ri::string

RenderMan string datatype.

typedef std::vector<string> k3d::ri::strings

RenderMan string array.

RenderMan unsigned integer datatype.

RenderMan unsigned integer array.

RenderMan vector datatype.

typedef std::vector<vector> k3d::ri::vectors

RenderMan vector array.


Enumeration Type Documentation

Enumerates possible values for the current render context.

Enumerator:
CSG_SOLID 

We're generating a CSG solid object.

OBJECT_INSTANCE 

We're generating an object instance.

SHADOW_MAP 

We're generating a shadow map.

ENVIRONMENT_MAP 

We're generating an environment map.

FINAL_FRAME 

We're generating the final output frame.

Enumerates parameter storage classes defined by the RenderMan standard.

Enumerator:
CONSTANT 
UNIFORM 
VARYING 
VERTEX 
FACEVARYING 

Function Documentation

const matrix k3d::ri::convert ( const k3d::matrix4 Matrix  ) 
bool k3d::ri::first_sample ( const render_state &  State  ) 

Convenience function that returns true iff rendering the first sample in an image.

Referenced by k3d::ri::renderable< k3d::transformable< k3d::node > >::renderman_render().

template<typename iterator_t >
format_array_t<iterator_t, typename std::iterator_traits<iterator_t>::value_type> k3d::ri::format_array ( const iterator_t  Begin,
const iterator_t  End 
) [inline]
bool k3d::ri::inline_types ( std::ostream &  Stream  ) 

iostream-compatible manipulator that returns true iff inline types are enabled for an output stream

Referenced by k3d::ri::detail::print_parameter().

long& k3d::ri::inline_types_storage ( std::ios &  Stream  ) 
bool k3d::ri::last_sample ( const render_state &  State  ) 
void k3d::ri::motion_begin ( const render_state &  State  ) 

Convenience function that opens a RIB motion block iff motion-blur is enabled.

bool k3d::ri::motion_blur ( const render_state &  State  ) 

Convenience function that returns true iff motion-blurred rendering is enabled.

Referenced by libk3drenderman::render_engine::render(), and k3d::ri::renderable< k3d::transformable< k3d::node > >::renderman_render().

void k3d::ri::motion_end ( const render_state &  State  ) 

Convenience function that closes a RIB motion block iff motion-blur is enabled.

std::ostream & k3d::ri::operator<< ( std::ostream &  Stream,
const parameter_list &  RHS 
)

Serializes a parameter list to a stream.

std::ostream & k3d::ri::operator<< ( std::ostream &  Stream,
const parameter &  RHS 
)

Serializes a parameter to a stream.

std::ostream& k3d::ri::operator<< ( std::ostream &  Stream,
const format_matrix &  RHS 
)
std::ostream& k3d::ri::operator<< ( std::ostream &  Stream,
const format_string &  RHS 
)
std::ostream & k3d::ri::operator<< ( std::ostream &  Stream,
const storage_class_t  RHS 
)

Serializes storage_class_t to a stream.

const std::string k3d::ri::RI_A (  )  [inline]

Provide definitions for the "standard" RenderMan tokens.

const std::string k3d::ri::RI_ABORT (  )  [inline]
const std::string k3d::ri::RI_AMBIENTLIGHT (  )  [inline]
const std::string k3d::ri::RI_AMPLITUDE (  )  [inline]
const std::string k3d::ri::RI_AZ (  )  [inline]
const std::string k3d::ri::RI_BACKGROUND (  )  [inline]
const std::string k3d::ri::RI_BEAMDISTRIBUTION (  )  [inline]
const std::string k3d::ri::RI_BICUBIC (  )  [inline]
const std::string k3d::ri::RI_BILINEAR (  )  [inline]
const std::string k3d::ri::RI_BLACK (  )  [inline]
const std::string k3d::ri::RI_BOX (  )  [inline]
const std::string k3d::ri::RI_BUMPY (  )  [inline]
const std::string k3d::ri::RI_CAMERA (  )  [inline]
const std::string k3d::ri::RI_CATMULL_ROM (  )  [inline]
const std::string k3d::ri::RI_CLAMP (  )  [inline]
const std::string k3d::ri::RI_COMMENT (  )  [inline]
const std::string k3d::ri::RI_CONEANGLE (  )  [inline]
const std::string k3d::ri::RI_CONEDELTAANGLE (  )  [inline]
const std::string k3d::ri::RI_CONSTANT (  )  [inline]
const std::string k3d::ri::RI_CONSTANTWIDTH (  )  [inline]
const std::string k3d::ri::RI_CS (  )  [inline]
const std::string k3d::ri::RI_CUBIC (  )  [inline]
const std::string k3d::ri::RI_DEPTHCUE (  )  [inline]
const std::string k3d::ri::RI_DIFFERENCE (  )  [inline]
const std::string k3d::ri::RI_DISTANCE (  )  [inline]
const std::string k3d::ri::RI_DISTANTLIGHT (  )  [inline]
const std::string k3d::ri::RI_FILE (  )  [inline]
const std::string k3d::ri::RI_FLATNESS (  )  [inline]
const std::string k3d::ri::RI_FOG (  )  [inline]
const std::string k3d::ri::RI_FOV (  )  [inline]
const std::string k3d::ri::RI_FRAMEBUFFER (  )  [inline]
const std::string k3d::ri::RI_FROM (  )  [inline]
const std::string k3d::ri::RI_GAUSSIAN (  )  [inline]
const std::string k3d::ri::RI_HANDLER (  )  [inline]
const std::string k3d::ri::RI_HIDDEN (  )  [inline]
const std::string k3d::ri::RI_IDENTIFIER (  )  [inline]
const std::string k3d::ri::RI_IGNORE (  )  [inline]
const std::string k3d::ri::RI_INSIDE (  )  [inline]
const std::string k3d::ri::RI_INTENSITY (  )  [inline]
const std::string k3d::ri::RI_INTERSECTION (  )  [inline]
const std::string k3d::ri::RI_KA (  )  [inline]
const std::string k3d::ri::RI_KD (  )  [inline]
const std::string k3d::ri::RI_KR (  )  [inline]
const std::string k3d::ri::RI_KS (  )  [inline]
const std::string k3d::ri::RI_LH (  )  [inline]
const std::string k3d::ri::RI_LIGHTCOLOR (  )  [inline]
const std::string k3d::ri::RI_LINEAR (  )  [inline]
const std::string k3d::ri::RI_MATTE (  )  [inline]
const std::string k3d::ri::RI_MAXDISTANCE (  )  [inline]
const std::string k3d::ri::RI_METAL (  )  [inline]
const std::string k3d::ri::RI_MINDISTANCE (  )  [inline]
const std::string k3d::ri::RI_N (  )  [inline]
const std::string k3d::ri::RI_NAME (  )  [inline]
const std::string k3d::ri::RI_NONPERIODIC (  )  [inline]
const std::string k3d::ri::RI_NP (  )  [inline]
const std::string k3d::ri::RI_OBJECT (  )  [inline]
const std::string k3d::ri::RI_ORIGIN (  )  [inline]
const std::string k3d::ri::RI_ORTHOGRAPHIC (  )  [inline]
const std::string k3d::ri::RI_OS (  )  [inline]
const std::string k3d::ri::RI_OUTSIDE (  )  [inline]
const std::string k3d::ri::RI_P (  )  [inline]
const std::string k3d::ri::RI_PAINT (  )  [inline]
const std::string k3d::ri::RI_PAINTEDPLASTIC (  )  [inline]
const std::string k3d::ri::RI_PERIODIC (  )  [inline]
const std::string k3d::ri::RI_PERSPECTIVE (  )  [inline]
const std::string k3d::ri::RI_PLASTIC (  )  [inline]
const std::string k3d::ri::RI_POINTLIGHT (  )  [inline]
const std::string k3d::ri::RI_PRIMITIVE (  )  [inline]
const std::string k3d::ri::RI_PRINT (  )  [inline]
const std::string k3d::ri::RI_PW (  )  [inline]
const std::string k3d::ri::RI_PZ (  )  [inline]
const std::string k3d::ri::RI_RASTER (  )  [inline]
const std::string k3d::ri::RI_RGB (  )  [inline]
const std::string k3d::ri::RI_RGBA (  )  [inline]
const std::string k3d::ri::RI_RGBAZ (  )  [inline]
const std::string k3d::ri::RI_RGBZ (  )  [inline]
const std::string k3d::ri::RI_RH (  )  [inline]
const std::string k3d::ri::RI_ROUGHNESS (  )  [inline]
const std::string k3d::ri::RI_S (  )  [inline]
const std::string k3d::ri::RI_SCREEN (  )  [inline]
const std::string k3d::ri::RI_SHINYMETAL (  )  [inline]
const std::string k3d::ri::RI_SINC (  )  [inline]
const std::string k3d::ri::RI_SMOOTH (  )  [inline]
const std::string k3d::ri::RI_SPECULARCOLOR (  )  [inline]
const std::string k3d::ri::RI_SPOTLIGHT (  )  [inline]
const std::string k3d::ri::RI_ST (  )  [inline]
const std::string k3d::ri::RI_STRUCTURE (  )  [inline]
const std::string k3d::ri::RI_T (  )  [inline]
const std::string k3d::ri::RI_TEXTURENAME (  )  [inline]
const std::string k3d::ri::RI_TO (  )  [inline]
const std::string k3d::ri::RI_TRIANGLE (  )  [inline]
const std::string k3d::ri::RI_UNION (  )  [inline]
const std::string k3d::ri::RI_WIDTH (  )  [inline]
const std::string k3d::ri::RI_WORLD (  )  [inline]
const std::string k3d::ri::RI_Z (  )  [inline]
void k3d::ri::set_attributes ( iproperty_collection &  Properties,
istream &  Stream 
)

Extracts RenderMan data from a property collection, generating corresponding calls to RiAttribute().

Referenced by k3d::ri::renderable< k3d::transformable< k3d::node > >::renderman_render(), libk3drenderman::light::setup_renderman_light(), and libk3drenderman::area_light::setup_renderman_light().

bool k3d::ri::set_inline_types ( std::ostream &  Stream,
const bool  Enabled 
)

iostream-compatible manipulator that controls whether inline types are enabled for an output stream

void k3d::ri::set_options ( iproperty_collection &  Properties,
istream &  Stream 
)

Extracts RenderMan data from a property collection, generating corresponding calls to RiOption().

Referenced by libk3drenderman::render_engine::render().

void k3d::ri::setup_material ( iunknown *const   Material,
const render_state &  State 
)

Generated on Mon Mar 21 07:42:46 2011 for K-3D by doxygen 1.6.3