List of RenderMan Functions RenderMan Interface Routines RtLightHandle RiAreaLightSource(name, Parameterlist) char *name; RiAtmosphere(name,parameterlist) char *name; Example: in *.c: RiAmosphere("depthcue",RI_NULL); in *.rib: Atmosphere "depthcue" RiAttribute(name,parameterlist) char *name; Example: in *.c: disp=0.15; RiAttribute("bound", "displacement", &disp, RI_NULL); in *.rib: Attribute "bound" "diplacement" [0.15] RiAttributeBegin( ) Example: in *.c: RiAttributionBegin( ); RiSurface("matte", RI_NULL); RiColor(blue); RiPolygon( (RtInt) 4, RI_P, RI_NULL); RiAttributionEnd( ); in *.rib: AttributionBegin Surface "matte" Polygon "P" [-8 -2 8 8 -2 8 6 -2 -2.5 -6 -2 -2.5] AttributionEnd RiAttributeEnd() Example see RiAttributeBegin(). RiBasis(ubasis,ustep,vbasis,vstep) RtBasis ubasis,vbasis; RtLnt ustep,vstep; typedef RtFloat RtBasis[4][4]; RtBasis RiHermiteBasis, RiCatmullRombasis, RiBezierBasis, RiBSplineBasis; Example: in *.c RiBasis(RiBezierBasis, RI_BEZIERSTEP, RiBezierBasis, RI_BEZIERSTEP); in *.rib: Basis "bezier" 3 "bezier" 3 RiBegin(name) RtToken name; Example: in *.c: RiBegin(RI_NULL); RiFrameBegin(frame); ............ RiWorldBegin(); ............ RiWorldEnd(); ............ RiFrameEnd(); RiEnd(); in *.rib: None. RiBound(bound) RtBound bound; RiClipping(near,far) RtFloat near,far; Example: in *.c RiClipping(RI_EPSILON, RI_INFINITY); in *.rib Clipping le-10 1e+38 RiColor(Cs) RtColor Cs; Example: in *.c: static RtColor blue = {0.2,0.4,0.8}; RiColor(blue); in *.rib: Color [0.2 0.4 0.8] RiColorSamples(N,nRGB,RGBn) RtInt N; RtFloat nRGB[N][3],RGBn[3][N]; RiConcatTransform(transform) RtMatrix transform; RiCone(height,radius,thetamax,parameterlist) RtFloat height; RtFloat radius; RtFloat thetamax; Example: in *.c: RiCore(1.0,0.5,360.0, RI_NULL); in *.rib: Cone 1 0.5 360 RiCoordinateSystem(space) RtToken space; RiCropWindow(left,right,top,bottom) RtFloat left,right,top,bottom; Example: in *.c: RiCropWindow(CROPMINX,CROPMAXX, CROPMINY, CROPMAXY); in *.rib: CropWindow 0 1 0 1 RiCylinder(radius,zmin,zmax,thetamax,parameterlist) RtFloat radius; RtFloat zmin,zmax; RtFloat thetamax; Example: in *.c: RiCylinder(0.075 -0.3625, 0.3625,360.0, Ri_Null); in *.rib: Cylinder 0.075 -0.3625 0.3625 360 RtToken RiDeclare(name,delaration) char *name; char *declraation; Example: in *.c: RiDeclare("intensity","uniform float"); in *.rib: No. RiDeformation(name,parameterlist) char *name; RiDepthOfField(fstop,focallength,focaldistance) RtFloat fstop,focallength,focaldistaance; RiDetail(bound) RtBound bound; RiDetailRange(offlow,onlow,onhigh,offhigh) RtFloat offlow,onlow,onhigh,offhigh; RiDisk(height,radius,thetamax,parameterlist) RtFloat height; RtFloat radius; RtFloat thetamax; Example: in *.c: RiDisk(27.0,0.2857,27.0,35.0,360.0, RI_NULL); in *.rib: Disk 27 0.2857 27 35 360 RiDisplacement(name,parameterlist) char *name; Example: in *.c: RiDisplacement("round", RI_NULL); in *.rib: Displacement "round" RiDisplay(name,type,mode,paramaterlist) char *name; RtToken type,mode; Example: in *.c: RiFrameBegin( (RtInt) 1); RiDisplay("frame1", RI_FRAMEBUFFER, RI_RGB, RI_NULL); ...... in *.rib: FrameBegin 1 Display "frame1" "framebuffer" "rgb" ............ RiEnd() Examples see RiBegin(). RiErrorHandler(handler) RtFunc handler; RiExposure(gain,gamma) RtFloat gian,gamma; RiExterior(name,parameterlist) char *name; RiFormat(xresolution,yresolution,pixelaspectratio) RtInt xresolution,yresolution; RtFloat frameratio; Example: in *.c: RiFormat( (RtInt) PICXRES, (RtInt) PICYRes, 1.0); in *.rib: Format 128 128 1 RiFrameAspectRadio(frameratio) RtFloat frameratio; Example: in *.c: RiFramAspectRatio( (RtFloat)(framewidth/frameheight)); in *.rib: FrameAspectRatio 1.33333 RiFrameBegin(number) RtInt number; Example: in *.c: RiFrameBegin( (RtInt) 1); RiWorldBegin(); ShowQuads(); RiWorldEnd(); RiFrameEnd(); in *.rib: FrameBegin 1 WorldBegin ...................................... WorldEnd FrameEnd RiFrameEnd() Example see RiFrameBegin(). RiGeneralPolygon(nloops,nverts,parameterlist) RtInt nloops; RtInt nverts[]; RiGeometricApproximation(type,value) RtToken type; RtFloat value; RiHider(type,parameterlist) RtToken type; Example: in *.c: RiHider("hidder", "jitter", (RtPointer)&jitterflag, RI_NULL); RiHyperboloid(point1,point2,thetamax,parameterlist) RtPoint point1,point2; RtFloat thetamax; Example: in *.c: RiHyperboloid(hyperpt1,hyperpt2, 360.0, RI_NULL); in *.rib: Hyperboloid 0.4 -0.4 -0.4 0.4 0.4 0.4 360 Ridentity( ) RiIlluminate(light,onoff) RtLightHandle light; RtBoolean onoff; Example: in *.c: RiIlluminate(light3, RI_FALSE); in *.rib: Illuminate 4 0 RiImagrer(name,parameterlist) char *name; RiInterior(name,parameterlist) char *name; RtLightHandle RiLightSource(name,parameterlist) char *name; Example: in *.c: RiLightSource("pointlight", (RtToken)"intensity",&intensity, (RtToken)"from",from,RI_NULL); in *.rib: LightSource "pointlight" 1 "intensity" [8]"from" [-5 -3 4] RiMakeBump(imagefile,bumpfile,swrap,twrap,fileefunc,swidth,twidth,parameterlist) char *imagefile,*bumpfile; RtFloatFunc filerfunc; RtToken swrap,twrap; RtFloat swidth,twidth; RiMakeCubeFaceEnvironment(px,nx,py,ny,pz,nz,reflfile,fov,filerfunc,swidth,twidth ,parameterlist) char *px,*nx,*py,*ny,*pz,*nz; char *reflfile; RtFloat fov; RtFunc filterfunc; RtFloat swidth,twidth; Example: in *.c: #define BUFSIZE 256; char tfilenames[6][BUFSIZE +4]; RiMakeCubeFaceEnviroment( tfilenames[0],tfilenames[1],tfilenames[2],tfilenames[3], tfilenames[4],tfilenames[5], filenames, 90.0, RiGaussianFilter,2.0, 2.0, RI_NULL); in *.rib: None. RiMakeShadow(picfile,shadowfile,parameterlist) char *picfile; char *shadowfile; Example: in *.c: char *shadowfile = "shadfile"; ...... RiMakeShadow("shdw.z", "shadfile", RI_NULL); in *.rib: None. RiMakeTexture(imagefile,texturefile,swrap,twrap,filterfunc,swidth,twidth,paramet erlist) char *imagefile, *texturefile; RtToken swrap,twrap; RtFloatFunc; RtFloat swidth,twidth; RiMatte( ) RiMotionBegin(N,time1,...,timeN) RtInt N; RtFloat time1,...,timeN; RiMotionEnd( ) RiNuPatch(nu,uorder,uknot,umin,umax,nv,vorder,vknot,vmin,vmax,parameterlist) RtInt nu,nv; RtInt uorder,vorder; RtFloat uknot[],vknot[]; RtFloat umin,umax,vmin,vmax; RtObjectHandle RiObjectBegin( ) Example: in *.c: RtObjectHandle phandle; phandle = RiObjectBegin(); if (!phandle) return; BowlingPin(); RiObjetEnd(); in *.rib: ObjectBegin 1 ...................... ObjectEnd RiObjectEnd( ) Example: see RiObjectBegin. RiObjectInstance(phandle) ObjectHandle phandle; Example: in *.c: RiObjectInstance(phandle); (phandle see example in RiObjectBegin()) in *.rib: ObjectInstance 1 RiOpacity(Os) RtColor Os; Example: in *.c: Globe opac[0]=0.07; opac[1]=0.07;opac[2]=0.07; RiOpacity(opac); in *.rib: Opacity [0.07 0.07 0.07] RiOption(name,parameterlist) char *name; Example: in *.c: RiOption("limits", "gridsize", (RtPointer)&gridsize, "bucketsize", (RtPointer)&bucketsize, RI_NULL); RiPrientation(orientation) RtToken orientation; Riparaboloid(rmasx,zmin,zmax,thetamax,parameterlist) RtFloat rmax; RtFloat zmin,zmax; RiFloat thetamax; Example: in *.c: RiParaboloid(0.5, 0.0, 0.9, 360, RI_NULL); in *.rib: Paraboloid 0.5 0 0.9 360 RiPatch(type,parameterlist) RtToken type; Example: in *.c: RiPatch("bilinear", RI_P, (RtPointer) corners, Ri_NULL); in *.rib: Patch "bilinear" "P" [-1 0.3 1 1 -0.1 1 -1 -0.1 -1 1 0.3 -1] RiPatchMesh(type,nu,uwrap,nv,vwrap,parameterlist) RtFloatFunc function; RtFloat xwidth,ywidth; Example: in *.c: RiPatchMesh(RI_BICUBIC, (RtInt)BEZIERWIDTH,RI_PERIODIC,(RtInt)NPOINTS, RI_NONPERIODIC, RI_P, (RtPointer)mesh, RI_NULL); in *.rib: PatchMesh "bicubic" 12 "periodic: 10 "nonperiodic" "P" [0 15 0 0 15 0 0 15 0 0 1 .... .....................................] RiPerspective(fov) RtFloat fov; RiPixelFilter(function,xwidth,ywidth) RtFloatFunc function; RtFloat xwidth,ywidth; Example: in *.c: RiPixelFilter(RiBoxFilter, 1.0, 1.0); RiPixelSamples(xsamples,ysamples) RtFloat xsamples,ysamples; Example: in *.c: RiPixelSamples(1.0,1.0); RiPixelVariance(variance) RtFloat variance; RiPointsGeneralPolygons(npolys,nloops,nverts,vert,parameterlist) RtInt npolys; RtInt nloops[]; RtInt nverts[]; RtInt verts[]; RiPointsPolygons(npolys,nverts,parameterlist) RtInt npolys; RtInt nloops[]; RtInt nverts[]; RtInt verts[]; RiPolygon(nvertices,parameterlist) RtInt nvertices; Example: in *.c RtPoint ground[4] = {{-0.5,-7.5,0.0},{-0.5,7.5,0.0},{2.0,7.5,0.0},{2.0,-7.5,0.0}}; RiPolygon( (RtInt)4, RI_P, ground, RI_NULL); in *.rib Polygon "P" [-0.5, -7.5 -0.5 7.5 0 2 7.5 0 2 -7.5 0] RiProcedural(data,bound,refineproc,freeproc) RtPointer data; RtBound bound; RtFunc refineproc,freeproc; Example: in *.c: RiProcedual(&mytriangle, bound, FracalDiv, FractalFree); in *.rib: None. RiProjection(name,parameterlist) char *name; Example: in *.c: RiProjection("perspective", RI_NULL); in *.rib: Projection "perspective" RiQuantize(type,one,min,max,ditheramplitude) RtToken type; RtInt one,min,max; RtFloat ditheramplitude); RiRelativeDetail(relativedetail) RtFloat relativedetail; Example: in *.c: RiFrameBegin(1); RiRelativeDetail(((float)i/NFRAMES); ............ RiFrameEnd(); in *.rib: None. RiReverseOrientation( ) RiRotate(angle,dx,dy,dz) RtFloat left,right,Bottom,top; Example: in *.c: RiRotate(15.0,-1.0,1.0,1.0); in *.rib: Rotate 15 -1 1 1 RiScale(a, b, c) RtFloat a,b,c; Example: in *.c: RiScale(2.0, 0.333, 1.0); in *.rib: Scale 2 0.333 1 RiScreenWindow(left,right,bottom,top) RtFloat left,right.bottom.top; Example: in *.c: RiScreenWindow(-1.33, 1.33, -1.0, 1.0); in *.rib: ScreenWindow -1.33 1.33 -1 1 RiShadingRate(size) RtFloat size; Example: in *.c: RiShadingRate(1.0); in *.rib: ShadingRate 1 RiShutter(opentime,closetime) RtFloat opentime,closetime;0 RiSides(nsides) RtInt nsides; Example: in *.c RiSides( (RtInt) 1); in *.rib: Sides 1 RiSolidBegin(type) RtToken type; Example: in *.c: RiSolidBegin("primitive"); RiAttributionBegin( ); (*leadattributes)(leadcolor); RiCylinder(0.2857,27.0,35.0,360.0, RI_NULL); RiDisk(27.0,0.2857,360.0, RI_NULL); RiAttritbutionEnd( ); RiSolidEnd( ); in *.rib: SolidBegin "primitive" AttributionBegin Surface "metal" Color [0.1 0.1 0.1] Cylinder 0.2857 27 35 360 Disk 27 0.2857 360 AttributionEnd SolidEnd RiSoldend( ) RiSphere(radius,zmin,zmax,thetsamax,parameterlist) RtFloat radius; RtFloat zmin,zmax; RtFloat thetamax; Example: in *.c: RiSphere(0.5,0.5,0.5,360.0, RI_NULL); in *.rib: Sphere 0.5 -0.5 0.5 360 RiSurface(name,parameterlist) char *name; Example: in *.c: RiSurface("plastic",RI_NULL); in *.rib: Surface "plastic" RiTextureCoordinates(s1,t1,s2,t2,s3,t3,s4,t4) RtFloat s1,t1; RiFloat s2,t2; RtFloat s3,t3; RtFloat s4,t4; Example: in *.c: RiTextureCoordinates(0.0,0.25,1.0,0.25,0.0,0.75,1.0,0.75); in *.rib TextureCooordinates 0 0.25 1 0.25 0 0.75 1 0.75 RiTorus(majorrad,minorrad,phimin,phimax,thetamax,parameterlist) RtFloat majorrad,minorrad; RtFloat phimin,phimax; RtFloat thetamax; Example: in *.c: RiTorus(0.75,0.2,0.0,360.0,360.0, RI_NULL); in *.rib: Torus 0.75 0.2 0 360 360 RiTransform(transform) RtMatrix transform; RiTransformBegin() Example: in *.c: RiTransformBegin(); RiTranslate(0.0,0.0,2.6); RiColor(blue); RiSphere(1.8,0.0,1.8,360.0, RI_NULL); RiTransformEnd(); in *.rib: TransformBegin Translate 0 0 2.6 Color [0.02,0.03,0.07] Sphere 1.8 0 1.8 360 TransformEnd RiTransformEnd() Examples see RiTransformBegin(). RtPoint *RiTransformPoints(fromsspace,tospace,npoints,points) RtToken fromspace,tospace; RtInt npoints; RtPoint points[]; RiTranslate(dx,dy,dz) RtInt nloops,ncurves[],order[],n[]; RtFloat knot[],min[],max[],u[],v[],w[]; Example: in *.c: RiTranslate(-1.2, 0.0, 3.5); in *.rib: Translate -1.2 0 3.5 RiWorldBegin( ) Example: in*.c: RiWorldEnd( )