RIB (RenderMan Interface Bytestream)

Written by Paul Bourke
June 1991

The Renderman Interface (pdf), version 3.2, July 2000


RenderMan is supposed to be (or become) the PostScript of the 3D world. Its history started with Loren Carpenter at Lucasfilm in 1981 and the most popular version is now available on many platforms from PIXAR.
RenderMan is primarily a scene description language, that is, a way of describing objects, scenes, lights, and cameras so that a computer program can create realistic images from them. As such RIB files are not so much a general interchange format but rather a means of transfering data to a specific application, namely an implementation of RenderMan. The aim of RenderMan is to create computer generated photorealistic images of a scene.
RenderMan offers a small but powerful set of primitive surfaces, hierarchical modelling, constructive solid modelling, hierarchical geometry, a camera model, powerful shading attributes, and above all it is extensible.
RIB files are inherently 3D.

The full specification can be acquired from a number of sources, including

The RenderMAN Interface, Version 3.0 May 1988
Order from , Pixar, 1001 West Cutting Blvd., Richmond, California 94804, (415) 236-4000

and

The RenderMan Companion
A Programmer's Guide to Realistic Computer Graphics by Steve Upstill, Copyright 1990 by Pixar. Addison-Wesley Publishing Company, ISBN 0-201-50868-0


Example

A simple example RIB file (so you may recognise one when you see it) that renders some of the quadratic primitives is shown below.
##
## Quadratic primitives
##
Projection "perspective" "fov" 60
Translate 0 0 4

WorldBegin
	LightSource "ambientlight" 0 "intensity" .5
	Rotate -90 1 0 0
	
	## A sphere
	color 1 0 0
	Translate -1.2 0 0.6
	Sphere 0.5 -0.5 0.5 360
	## A cone
	color 0 1 0
	Translate 1.2 0 -0.5
	Cone 1 0.5 360
	## A cylinder
	color 0 0 1
	Translate 1.2 0 0.5
	Cylinder 0.5 -0.5 0.5 360
	## A hyperboloid
	color 1 1 0
	Translate -2.4 0 -1.2
	Hyperboloid 0.4 -0.4 -0.4 0.4 0.4 0.4 360
	## A paraboloid
	color 1 0 1
	Translate 1.2 0 -0.5
	Paraboloid 0.5 0 0.9 360
	## A torus
	color 0 1 1
	Translate 1.2 0 0.5
	Torus .4 .15 0 360 360
	## A disk is a special case of a cone with no height (height now = z axis)
	color 0 1 0
	Translate -1.2 0 2
	Disk 0 .5 360
WorldEnd