26.01.2015 Views

The RenderMan Interface - Paul Bourke

The RenderMan Interface - Paul Bourke

The RenderMan Interface - Paul Bourke

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Appendix C<br />

LANGUAGE BINDING DETAILS<br />

C.1 ANSI C Binding<br />

<strong>The</strong> following is the version of ri.h required for the ANSI-standard C binding of the <strong>RenderMan</strong><br />

<strong>Interface</strong>.<br />

/*<br />

* <strong>RenderMan</strong> <strong>Interface</strong> Standard Include File<br />

* (for ANSI Standard C)<br />

*/<br />

/* Definitions of Abstract Types used in RI */<br />

typedef short RtBoolean;<br />

typedef int RtInt;<br />

typedef float RtFloat;<br />

typedef char<br />

*RtToken;<br />

typedef RtFloat RtColor[3];<br />

typedef RtFloat RtPoint[3];<br />

typedef RtFloat RtVector[3];<br />

typedef RtFloat RtNormal[3];<br />

typedef RtFloat RtHpoint[4];<br />

typedef RtFloat RtMatrix[4][4];<br />

typedef RtFloat RtBasis[4][4];<br />

typedef RtFloat RtBound[6];<br />

typedef char *RtString;<br />

typedef void<br />

#define RtVoid<br />

*RtPointer;<br />

void<br />

typedef RtFloat (*RtFilterFunc)(RtFloat, RtFloat, RtFloat, RtFloat);<br />

typedef RtVoid (*RtErrorHandler)(RtInt, RtInt, char *);<br />

typedef RtVoid (*RtProcSubdivFunc)(RtPointer, RtFloat);<br />

typedef RtVoid (*RtProcFreeFunc)(RtPointer);<br />

typedef RtVoid (*RtArchiveCallback)(RtToken, char *, ...);<br />

typedef RtPointer RtObjectHandle;<br />

typedef RtPointer RtLightHandle;<br />

167

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!