overview | basic concepts | gops | gprims | animation | rendering | math | index

rendering


intro | renderman packages | shader info | more on packages | renderman interface | motion blur

More On Packages

This section provides more detail about the use of render packages in AL.

Render Package Functions

(show-render-packages)

Prints the names of available rendering packages and also shows the values of the "default" and "world" render packages.

(render-package? package-name)

Returns #t if specified package is a valid (supported) render package.

(get-render-package special)

Returns the name of the default render package if special is "default"; the name of the world render package if special is "world"; and the name of the current render package if special is "current".

(set-render-package! special   package-name)

Sets the default render package if special is "default" or sets the world render package if special is "world". The "world" render package can be disabled by setting package-name to #f.

The Current, Default, and World Render Packages

As mentioned in the rendering intro, render packages are "small software modules which define the output produced (for input to rendering software) by AL gops, gprims, and rendering commands."

So, there are a set of render packages ("prman," "bmrt," etc.) which allow the same AL program to be rendered differently. In addition, there are 3 specially designated packages:

When an AL gop or gprim is executed, the current render package is used to generate rendering output. For example, if the current render package is "prman" when a sphere gop is executed, RenderMan input (RIB) corresponding to a sphere will be written to a file.

The current render package varies. Different commands will change the current render package and then execute the world model.

Specifically, the world special form sets the value of the current render package to whatever is the world render package and then executes the body (the "world model") of the world special form. In other words, when the world special form is evaluated, the world model is rendered using the "world" render package.

Likewise, when the render command is issued, the current render package will be set to the default render package (unless an alternate package is specfied in the paramlist for render). Thus, when the render function is executed, the world model is rendered using the "default" render package.


AL: The Animation Language is Copyright © 1995, Stephen F. May

Last updated: 1/4/96 / Steve May ( smay@cgrg.ohio-state.edu )
Any comments or suggestions appreciated.