cart button

KATANA FAQs


What is KATANA?

KATANA is a 3D application used for look development, lighting, scene assembly and backend pipeline. A node based interface is used to import assets, add lights, create and assign materials, set overrides, and do any other modification needed for each shot. The 'recipes' created by KATANA projects can then be used to generate scene data during rendering, creating a natural scalable deferred pipeline.

A primary application for all your look development and lighting needs, KATANA also provides a rich set of more technical tools for power users, TDs and pipeline integrators.


What are the system requirements for KATANA?

You can see the full details on the KATANA system requirements page of our website.


How do I buy KATANA?

Because KATANA is not your standard boxed product and requires integration with your current workflow, we’re happy to suggest the best arrangement for your specific set-up and requirements. Please contact sales@thefoundry.co.uk or register your interest by completing our online KATANA interest form.


Can I use KATANA on Windows or Mac OS X?

KATANA is currently only supported on 64-bit Linux. The official qualified version of Linux is CentOS/RHEL 5.4. We are looking into adding support for other operating systems in the future.


Where was KATANA originally designed and developed?

KATANA was designed and developed in-house at Sony Pictures Imageworks, starting in 2004, as no commercial solution offered the scalable asset-based workflows required by their high-end production. Over the next 5 years it was used on over 20 shows, and in 2009 The Foundry elected to share technologies with Sony Pictures Imageworks and bring KATANA to the wider post-production community.


Where can I find pricing for a KATANA license?

KATANA pricing is bespoke to each customer dependent upon requirements, so please contact us by emailing sales@thefoundry.co.uk to discuss yours.


Why is there no trial or rental option for KATANA on the website?

Because we make KATANA so specifically configured to the user’s requirements, it’s been unsuitable to release as a general trial version. Contact sales@thefoundry.co.uk to discuss your precise requirements.


How does KATANA's user interface work?

The KATANA user interface takes an intuitive node-based approach, similar in appearance to other node-based compositing packages such as NUKE. Nodes are used to work on any specific assets the user wants to develop, add filters, and control output nodes for renders, and any dependencies between renders.


Does KATANA come with its own shaders?

Because so many of today’s VFX and CG feature animation companies have their own extensive shader libraries, we haven’t so far provided our own in KATANA.  However, we are looking to provide an integrated set in the future.


Which renderers can I use with KATANA?

KATANA is designed to work with industry standard renderers such as Pixar’s RenderMan, Arnold and V-Ray. Plugins for these renderers to work with KATANA are available directly from Pixar, Solid Angle and The Chaos Group.

We’ve created KATANA to be a very versatile solution to rendering needs, and made sure that it can potentially work with any shader-based renderer. There is a plug-in API to integrate new renderers in KATANA, so that companies can also use KATANA with their own proprietary renderers. You can see full details on officially supported renderers on the KATANA system requirements page of our website.


Which shaders can I use with KATANA?

In KATANA you use native shaders for each render. Pixar’s RenderMan, Arnold and V-Ray all provide their own shaders for use with KATANA. If you have your own shaders, you can also use those with KATANA.

Because so many of today’s VFX and CG feature animation companies have their own extensive shader libraries, we haven’t so far provided our own in KATANA.  However, we are looking to provide an integrated set in the future.


Can KATANA be used for CG features as well as VFX?

Absolutely. KATANA was originally created by Sony Pictures Imageworks, where it has been used for both CG Feature and VFX productions since 2004.

KATANA is a very flexible system that allows productions to work in different ways. Given that CG work often benefits from KATANA’s template-based workflow, and VFX may involve more individually customized ‘money shots’, KATANA offers a high-end tool for both areas.


How can I use KATANA for look development and lighting?

KATANA has nodes that allow all the classic operations usually done in look development and lighting, such as:

  • Creating instances of shaders
  • Assigning shaders to objects
  • Creating lights
  • Moving positions of lights
  • Setting overrides for materials and light
  • Changing visibility flags on objects
  • Defining different passes that we want to render 

What other things can nodes do?

In a similar manner to the way that nodes in NUKE can manipulate and modify images in any way, nodes in KATANA can make arbitrary changes to 3D scene data. Examples of the things that KATANA nodes can do include:

  • Bring 3D scene data in from disk, such as from an Alembic geometry cache, or camera animation data
  • Create a new instance of a material such as a RenderMan or Arnold shader
  • Create cameras and lights
  • Manipulate the transforms of cameras, lights and other objects
  • Use rule-based expressions to set what materials are assigned to which objects
  • Isolate parts of the scene for different render passes
  • Merge together the scene components from a number of different partial scenes
  • Specify what outputs (such as RenderMan AOVs) you want to use to render multiple passes in a single renderer
  • Use Lua scripting to specify arbitrary manipulation of attributes at any location in the scene hierarchy

What can these filters do?
  • Bring 3D scene data in from disk, such as from an Alembic geometry cache, or camera animation data
  • Create a new instance of a material such as a RenderMan or Arnold shader
  • Create cameras and lights
  • Manipulate the transforms of cameras, lights and other objects
  • Use rule-based expressions to set what materials are assigned to which objects
  • Isolate parts of the scene for different render passes
  • Merge together the scene components from a number of different partial scenes
  • Specify what outputs (such as RenderMan AOVs) you want to use to render multiple passes in a single renderer
  • Use Python scripting to specify arbitrary manipulation of attributes at any location in the scene hierarchy

How can I integrate KATANA into an existing pipeline?

KATANA provides a rich set of APIs to integrate with existing pipelines. In particular, there are APIs to integrate render farm and asset-management systems into KATANA, and to bring in data from custom geometry caches.


How can KATANA deal with scenes of potentially unlimited complexity?

The principle here is that we don't need to load all the scene data to light it. With KATANA, we create the recipe that allows the scene data to be generated, rather than directly authoring the scene data itself. It is only the renderer that needs to be able to see all the scene data, and only when it needs it. In KATANA we provide access to any scene data the user needs to work on; perhaps an override, deep in the hierarchy, but the user benefits from only having a small subset of scene data open at any time. This is the key to how KATANA can deal with scenes of potentially unlimited complexity.


What 3D data formats can KATANA read?

We recommend using Alembic, the open source format for geometry caching and 3D data interchange from ILM and Sony Picture Imageworks, as it is optimized to work well with KATANA. In particular, Alembic is very efficient at delivering data as it’s requested on demand, which makes it ideally suited to KATANA.

There is also a C++ API to write your own 'Ops', which can be used to bring in data if you have an in-house data format for geometry cache files.


How is data from Look Development, such as material bindings, handled in KATANA?

KATANA has its own format called 'Look Files', which hold data such as what materials to use on an asset, or which material needs to be bound to any particular piece of geometry. In Look Development, you bake out Look Files that represent the materials and assignments that need to be applied to the 'naked' asset, and in lighting Look Files can be assigned to assets to re-apply that data.

If the lighter needs to, they can override what is set in the Look File - for example when making shot-specific modifications to materials.


How can I set standards such as image resolutions and anti-aliasing settings for different render passes?

KATANA Look Files can also be used to hold data such as show and shot standards for image resolutions and anti-aliasing settings for different render passes, along with other data, such as what output channels (AOVs) to use and any renderer specific settings, like PRMan shading rates.


How can I share data between shots?

As well as traditional 'macros' to allow users to wrap up a number of nodes into a single one, KATANA allows you to also create 'Live Groups' to share nodes between different projects. Essentially, a Live Group is a dynamically created macro linked to any nodes of choice, so if the macro is updated, every scene it relates to will update too.


Can I use KATANA for other output processes than rendering?

Yes. The output of KATANA's filters is simply 3D scene data in a per-frame iterable form, which can then be used for other output processes.


Can I customize KATANA, for example using Python scripting?

KATANA is designed to be a very configurable system, with support for both Python and PyQt. Python can be used in a number of ways including:

  • Scripting the creation of nodes
  • Set expressions on node parameters
  • Creating 'Super Tools' that wrap a number of other nodes into a single one, with a customizable interface. (For NUKE users, these are similar to NUKE’s Gizmos)
  • Creating 'Attribute Scripts' using Python to directly modify attributes at render time.

For higher performance, particularly for multi-threaded performance, Lua can also be used to script the modification of attributes. Lua ‘OpScripts’ also enable you to make changes to the scene graph hierarchy, allowing you to build advanced geometry processing pipelines directly in the UI


Can I write a new filter as a plug-in?

Two C++ APIs are provided to create new KATANA filters:

1.  The Scenegraph Generator API, to create filters that generate new scene graph data. For RenderMan users, these can be seen as KATANA's equivalent of RenderMan procedurals. Examples of uses include:

Bringing in data from custom geometry cache formats.

Creating geometry procedurally at render-time, such as for crowd systems or debris.

2.  The Attribute Modifier API, to modify attributes on existing locations in the scene graph. For RenderMan users, these can be seen as similar to RenderMan riFilters. Example of uses include: 

  • Specifying textures to use on a piece of geometry
  • Modifying material assignments
  • Overriding shader values
  • Adding arbitrary meta data

Can I write my own scene data processing plugins for KATANA?

You can write your own ‘Ops’: C++ plugins that can arbitrarily edit, modify and create scene data. This is the same API as has been used to write all the core nodes. Examples of the sort of things you can do with Ops include:

  • Reading in geometry data from custom cache formats.
  • Modifying attributes as existing locations, such as to add additional data such as texture assignments described in separate files.
  • Do mathematical operations, including implementing geometry deformers.
  • Adding any custom meta data that you may require for rendering.
  • Writing the equivalent of a ‘renderer procedural’, but that will work with any supported renderer.

Where can I find more technical information about KATANA?

A technical perspective of KATANA is given in the KATANA White Paper PDF and KATANA Technical Guide PDF.