User's public API

The file with the API to use to use Crbn in a program. More...

Classes

struct  _crbn_stat_t

Defines

#define API_CALL   extern "C"

Typedefs

typedef _crbn_stat_t crbn_stat_t
typedef void(*) crbn_stat_cb (crbn_stat_t *stat)
typedef _crbn_context_t crbn_context_t

Functions

crbn_context_tcrbnBegin (char *name)
bool crbnEnd (crbn_context_t *ctx)
bool crbnStart (crbn_context_t *ctx, char *filename)
bool crbnInclude (crbn_context_t *ctx, char *filename)
bool crbnStatCallback (crbn_context_t *ctx, char *where, crbn_stat_cb cb)
bool crbnOption (crbn_context_t *ctx, char *where, paramlist &pl)
bool crbnFrameBegin (crbn_context_t *ctx, int32 frame)
bool crbnFrameEnd (crbn_context_t *ctx)
bool crbnResolution (crbn_context_t *ctx, uint32 width, uint32 height, float pixelaspectratio)
bool crbnCropWindow (crbn_context_t *ctx, float xmin, float ymin, float xmax, float ymax)
bool crbnFrameInterval (crbn_context_t *ctx, int first, int last)
bool crbnRenderer (crbn_context_t *ctx, char *renderer_type, paramlist &pl)
bool crbnSampler (crbn_context_t *ctx, char *location, char *sampler_type, paramlist &pl)
bool crbnObjectSet (crbn_context_t *ctx, char *objectset_type, paramlist &pl)
bool crbnOutput (crbn_context_t *ctx, char *output_type, paramlist &pl)
bool crbnOutFormat (crbn_context_t *ctx, char *prefix, int32 dnumber)
bool crbnCamera (crbn_context_t *ctx, char *camera_type, paramlist &pl)
bool crbnView (crbn_context_t *ctx, float xp, float yp, float zp, float xt, float yt, float zt, float xv, float yv, float zv)
bool crbnObject (crbn_context_t *ctx, char *object_type, paramlist &pl)
bool crbnDuplicate (crbn_context_t *ctx, char *name)
bool crbnBoundingBox (crbn_context_t *ctx, float a0, float a1, float a2, float b0, float b1, float b2)
bool crbnMatter (crbn_context_t *ctx, char *matter_type, paramlist &pl)
bool crbnRadiance (crbn_context_t *ctx, float intensity)
bool crbnColor (crbn_context_t *ctx, float red, float green, float blue)
bool crbnIdentity (crbn_context_t *ctx)
bool crbnMatrixLoad (crbn_context_t *ctx, float a00, float a01, float a02, float a03, float a10, float a11, float a12, float a13, float a20, float a21, float a22, float a23, float a30, float a31, float a32, float a33)
bool crbnMatrixMul (crbn_context_t *ctx, float a00, float a01, float a02, float a03, float a10, float a11, float a12, float a13, float a20, float a21, float a22, float a23, float a30, float a31, float a32, float a33)
bool crbnTranslate (crbn_context_t *ctx, float tx, float ty, float tz)
bool crbnScale (crbn_context_t *ctx, float sx, float sy, float sz)
bool crbnRotate (crbn_context_t *ctx, float angle, float x, float y, float z)

Variables

int32 _crbn_stat_t::line_count
int32 _crbn_stat_t::line_current
int32 _crbn_stat_t::frame_current
uint32 _crbn_stat_t::frame_load_time
uint32 _crbn_stat_t::frame_rendering_time
uint32 _crbn_stat_t::global_load_time
uint32 _crbn_stat_t::global_rendering_time
uint32 _crbn_stat_t::global_time

Detailed Description

The file with the API to use to use Crbn in a program.


Function Documentation

crbn_context_t* crbnBegin ( char *  name  ) 

Opens and creates a new rendering context. If 'name' is a filename, all executed functions until a crbnEnd on this context will be send into this file.

Parameters:
name a filename. If it accessible, all calls to crbn API until the context closure will be send in this file.
Returns:
a valid rendering context.

bool crbnBoundingBox ( crbn_context_t ctx,
float  a0,
float  a1,
float  a2,
float  b0,
float  b1,
float  b2 
)

Set the next object's bounding box with user defined values.

Parameters:
ctx the working context
(a0,a1,a2) the 'lower' corner
(b0,b1,b2) the 'upper' corner

bool crbnCamera ( crbn_context_t ctx,
char *  camera_type,
paramlist &  pl 
)

Sets the current type of point of view.

Parameters:
ctx the working context
camera_type the camera type's name
pl a paramlist for camera's parameters

bool crbnColor ( crbn_context_t ctx,
float  red,
float  green,
float  blue 
)

Set the current color (only rgb colors are supported for the moment).

Parameters:
ctx the working context
red red component
green green component
blue blue component

bool crbnCropWindow ( crbn_context_t ctx,
float  xmin,
float  ymin,
float  xmax,
float  ymax 
)

Reduces the rendered output area.

Parameters:
ctx the working context
xmin upper left x corner coordinates
ymin upper left y corner coordinates
xmax lower right x corner coordinates
ymax lower right y corner coordinates

bool crbnDuplicate ( crbn_context_t ctx,
char *  name 
)

Duplicate an object named 'name' but apply current tranformations, matter and shader. If there is no object found, no new object will be created.

Parameters:
ctx the working context
name the objec's name to duplicate

bool crbnEnd ( crbn_context_t ctx  ) 

Closes a preliminary opened context.

Parameters:
ctx the rendering context to close. If it is while a rendering, it is stopped.

bool crbnFrameBegin ( crbn_context_t ctx,
int32  frame 
)

Opens a new frame. if 'frame' is less than 0, number won't be used in output filename.

Parameters:
ctx the working context
frame the frame number

bool crbnFrameEnd ( crbn_context_t ctx  ) 

Closes a frame (and start rendering the frame)

Parameters:
ctx the working context

bool crbnFrameInterval ( crbn_context_t ctx,
int  first,
int  last 
)

Limits the frame interval to render to [first,last]. A value equal to -1 will make ignore the limit.

Parameters:
ctx the working context
first the first frame to render
last the last frame to render

bool crbnIdentity ( crbn_context_t ctx  ) 

Sets the transformation matrices to identity

Parameters:
ctx the working context

bool crbnInclude ( crbn_context_t ctx,
char *  filename 
)

Opens and load a file like it was a scene description. Big differences with the previous function are in case of file output crbnInclude don't parse 'filename' and crbnStart is not binded in scene description grammar.

Parameters:
ctx the working context
filename the file to open and parse

bool crbnMatrixLoad ( crbn_context_t ctx,
float  a00,
float  a01,
float  a02,
float  a03,
float  a10,
float  a11,
float  a12,
float  a13,
float  a20,
float  a21,
float  a22,
float  a23,
float  a30,
float  a31,
float  a32,
float  a33 
)

Loads a free matrix.

Parameters:
ctx the working context
(a00,a01,a02,a03) the first row of new matrix
(a10,a11,a12,a13) the second row of new matrix
(a20,a21,a22,a23) the third row of new matrix
(a30,a31,a32,a33) the fourth row of new matrix

bool crbnMatrixMul ( crbn_context_t ctx,
float  a00,
float  a01,
float  a02,
float  a03,
float  a10,
float  a11,
float  a12,
float  a13,
float  a20,
float  a21,
float  a22,
float  a23,
float  a30,
float  a31,
float  a32,
float  a33 
)

Concatenates a free matrix.

Parameters:
ctx the working context
(a00,a01,a02,a03) the first row of matrix to concatenate
(a10,a11,a12,a13) the second row of matrix to concatenate
(a20,a21,a22,a23) the third row of matrix to concatenate
(a30,a31,a32,a33) the fourth row of matrix to concatenate

bool crbnMatter ( crbn_context_t ctx,
char *  matter_type,
paramlist &  pl 
)

Set the current matter to a matter of type 'matter_type' with parameters 'pl'.

Parameters:
ctx the working context
matter_type the matter type's name
pl a paramlist for matter's parameters

bool crbnObject ( crbn_context_t ctx,
char *  object_type,
paramlist &  pl 
)

Adds an object of type 'object_type' with parameters 'pl'.

Parameters:
ctx the working context
object_type the object type's name
pl a paramlist for object's parameters

bool crbnObjectSet ( crbn_context_t ctx,
char *  objectset_type,
paramlist &  pl 
)

Defines the object set type.

Parameters:
ctx the working context
objectset_type the obejctset type's name
pl a paramlist for objectset's parameters

bool crbnOutFormat ( crbn_context_t ctx,
char *  prefix,
int32  dnumber 
)

Defines output filename format.

Parameters:
ctx the working context
prefix the prefix of output's name
dnumber the digit number for frame number

bool crbnOutput ( crbn_context_t ctx,
char *  output_type,
paramlist &  pl 
)

Defines the output type.

Parameters:
ctx the working context
output_type the output's name
pl a paramlist for output's parameters

bool crbnRadiance ( crbn_context_t ctx,
float  intensity 
)

Set the light radiance.

Parameters:
ctx the working context
radiance the radiance (-1. to light off)

bool crbnRenderer ( crbn_context_t ctx,
char *  renderer_type,
paramlist &  pl 
)

Defines the renderer type.

Parameters:
ctx the working context
renderer_type the renderer type's name
pl a paramlist for renderer's parameters

bool crbnResolution ( crbn_context_t ctx,
uint32  width,
uint32  height,
float  pixelaspectratio 
)

Sets the output resolution and pixel aspect ratio.

Parameters:
ctx the working context
width width of output
height height of output
pixelaspectratio pixel aspect ratio of output

bool crbnRotate ( crbn_context_t ctx,
float  angle,
float  x,
float  y,
float  z 
)

Concatenates a quaternion rotation.

Parameters:
ctx the working context
angle in degrees
(x,y,z) the rotation axis

bool crbnSampler ( crbn_context_t ctx,
char *  location,
char *  sampler_type,
paramlist &  pl 
)

Defines the sampler type for a given location in rendering pipeline.

Parameters:
ctx the working context
sampler_type the sampler type's name
pl a paramlist for sampler's parameters

bool crbnScale ( crbn_context_t ctx,
float  sx,
float  sy,
float  sz 
)

Concatenates a scale.

Parameters:
ctx the working context
(sx,sy,sz) the respective axis aligned scaling factor

bool crbnStart ( crbn_context_t ctx,
char *  filename 
)

Opens and load a file like it was a scene description. This function doesn't not exist in scene description grammar

Parameters:
ctx the working context
filename the file to open and parse

bool crbnTranslate ( crbn_context_t ctx,
float  tx,
float  ty,
float  tz 
)

Concatenates a translation.

Parameters:
ctx the working context
(tx,ty,tz) the translation vector

bool crbnView ( crbn_context_t ctx,
float  xp,
float  yp,
float  zp,
float  xt,
float  yt,
float  zt,
float  xv,
float  yv,
float  zv 
)

Sets the current point of view

Parameters:
ctx the working context
(xp,yp,zp) for position
(xt,yt,zt) for target
(xv,yv,zv) for vertical


Generated on Tue Nov 14 15:40:08 2006 for libcrbn by  doxygen 1.5.0