User guide

15
The scene data to be delivered to the renderer is described by a tree of filters, and the filters are evaluated on
demand in an iterative manner. Katana is designed to work well with renderers that are capable of deferred recursive
procedurals, such as RenderMan and Arnold. Using recursive procedurals, the tree of filters is handed directly to the
renderer, with scene data calculated on demand, as the renderer requests it (lazy-evaluation). This is typically done
by a procedural inside the renderer that uses Katana libraries, during render, to generate scene data from the filter
tree.
Katana can also be used with renders that don't support procedurals or deferred evaluation, by running a process
that evaluates the Scene Graph and writes out a scene description file for the renderer. This approach is without the
benefits of deferred evaluation at render time, and the scene description file may be very large.
NOTE: Since Katana's filters deliver per-frame scene data in an iterable form, Katana can also be used to
provide 3D scene data for processes other than renderers.
At its core, Katana is a system for the arbitrary creation, filtering and processing of 3D scene data, with a user
interface primarily designed for the needs of look development and lighting. Katana is also designed for the needs of
power users, who want to create custom pipelines and manipulate 3D scene data in advanced ways.
A Short History of Katana
The problems Katana was originally designed to solve were of scalability and flexibility. How to carry out look
development and lighting in a way that could deal with potentially unlimited amounts of scene data, and be flexible
enough to deal with the requirements of modern CG Feature and VFX production for customized work-flows, and
capability to edit or override anything.
2 KATANA FOR THE IMPATIENT | A SHORT HISTORY OF KATANA