RPR Data Types
The RPR API is a C based API, with bindings for Python available. RPR API data types are redefined from standard C types. All data types have the rpr_
prefix.
Basic Data Types
The following table lists RPR basic data types.
RPR Type |
C Type |
---|---|
rpr_char |
Char |
rpr_uchar |
Unsigned char |
rpr_int |
Int |
rpr_uint |
Unsigned int |
rpr_long |
Long int |
rpr_ulong |
Unsigned long int |
rpr_short |
Short int |
rpr_ushort |
Unsigned short int |
rpr_float |
Float |
rpr_double |
Double |
rpr_longlong |
Long long int |
rpr_bool |
Int |
rpr_bitfield |
Unsigned int |
rpr_status |
Int |
Pointer Data Types
These data types point to RPR data classes. All pointer data types are of the C type “void *”.
Pointer Data Type |
Description |
---|---|
rpr_buffer |
Buffer (float list) for looking up in procedural texture nodes. |
rpr_camera |
Camera object for setting the render field of view and other camera type options. |
rpr_composite |
Arithmetic operation node for transforming frame buffers. |
rpr_context |
Context object. Set up for rendering context, set rendering options, device type to use for rendering, etc. Used for rendering and creating other objects. |
rpr_context_properties |
Struct of properties set on an |
rpr_curve |
Curve type object. Used for rendering hair, fur, grass, or other strand-like geometry. |
rpr_framebuffer |
Framebuffers hold rendering results for display or saving to files, or passing to post-processing. |
rpr_grid |
Grid is a layout of voxels. Each voxel references a key which lookups to the lookup array. |
rpr_hetero_volume |
Heterogenous volume object. Used for rendering clouds, or other objects with varying density in their interior. |
rpr_image |
Texture image object. |
rpr_light |
Light object (see various light types, such as spot, etc.). Area lights should use the |
rpr_lut |
LUT object. These objects are created from LUT files or data for applying color transforms in |
rpr_material_node |
Node for materials. Material nodes can be attached to objects (normally the BRDF node) and take other nodes as inputs to create complex material node graphs. |
rpr_material_system |
Material system for creating material nodes and attaching materials to objects. Only one material system is needed per scene. |
rpr_post_effect |
Post processing operations to run on the resulting frame buffer. |
rpr_scene |
Scene object. All objects need to be attached to the scene to be rendered. |
rpr_shape |
Shape object. Each mesh/instance object in the scene uses a scene object. |