Foundry is about to release Katana version 5.0, the software’s next major release, which will include an update of a rendering feature introduced in version 4.0 called Foresight. It also changes the way render delegates are handled in Katana’s Hydra viewer and introduces Foundry’s own Katana render delegate, Advanced ViewPort or AVP. Katana 5.0 also adds the Nuke Interoperability Framework, bringing lighting and look development closer to compositing.
Foresight extends Katana’s greatest strength as a lighting tool – its ability to work on, all in one project or template, as many shots as you need for a whole sequence, or even a show. You can iterate on all of those shots at once, if necessary, or impose a change across all of them, in one place. No need to repeat that work in different projects.
By working in Katana with Foresight from Katana 4.0, you can see a preview render of all of your shots without waiting for the usual overnight render. The images are streamed straight back to the screen, and the rendering work could be happening on a render farm, or on your local machine. Foresight delivers fast, on-screen rendering of multiple shots, with abundant opportunities to iterate. It has two main abilities that help users get the results they want from Katana for their scenes.
First, it supports multiple, simultaneous live renders on a series of shots. Second, it can run on the user’s local machine, on a machine on the network, on a render farm or using cloud resources. You can work on as many shots as you like at once, within the same template, spreading the work over as many resources as necessary.
Live Renders with Foresight+
Foresight was introduced in Katana 4.0 mainly as a preview tool. Katana Queue was introduced at the same time to help manage multiple renders on the local machine. This tool was also shipped as source code for implementation with a render management software like Deadline, Qube! or OpenCue.
In 4.0, Foresight had certain limitations built into it, on the understanding that it was to be used for previews, not live renders. It worked by communicating attribute changes to shots, not Node Graph changes. Attribute changes are communicated universally – across all shots – even where they may not be wanted.
Using Katana's lighting tools with Foresight.
After a re-write of the live rendering system, in 5.0, it is possible to use Foresight, now called Foresight+, for Live Renders. This is done by tracking Node Graph changes and communicating those changes to the Node Graph’s Ops (operations) instead. You can check the lighting on individual shots, see where it might not work and make specific adjustments. This means you can start tweaking individual shots earlier in development, but still make wider changes across all shots.
Attributes in the Op Tree
Since every node in Katana is a visual representation of one or more Ops – such as positioning, materials assignments – that influence the scene in the Scene Graph, Live Rendering is about using the nodes in the Graph and working out the Ops that are relevant for the render by building an Op tree.
Evaluating this Op tree generates the scene, with its Scene Graph locations and their attributes. Live Rendering requires determining what the changes that take place in Katana, such as changing a Node's parameter or moving a light in the Viewer, are in terms of attributes, which are your transforms, materials info, geometry and so on.
For instance – moving a light would be recorded in a node, which would change the Op, which would then change the attributes on a location. Evaluating this change, tracking the attribute change and then sending it to the renderer, is how the Live Rendering system works.
Service Host
An extra layer called the Service Host has been introduced between Katana and Renderboot to facilitate this change in Foresight+. This new layer communicates to Katana not through attribute changes, as before, but through changes to the Node Graph, which are converted into Ops. The Ops changes, which talk to the Service Host, are converted to attributes for Renderboot. Since the regular render plugins are used, this approach requires no extra work from the renderer vendors.
To understand this better, it helps to consider the job of Renderboot. It is essentially a totally separate process designed to run detached from Katana, which is useful because, if the render crashes, Katana won't crash. Renderboot communicates with the renderer in terms of Scene Graph locations and attributes. It is designed to receive notifications of changes to the attributes and to pass those on to the renderer via a local machine communications protocol.
Checking your lighting scenario on multiple shots, simultaneously.
In the previous system, you would run through all of the Live Render steps outlined above inside the main Katana application – convert the nodes to an Op tree and then evaluate that to attributes, track the attribute changes and then send those changes to Renderboot.
Scaling Up Foresight
This worked well for Katana users for many years. But its challenge for Foresight is that it doesn't scale well because the steps can be expensive in terms of computations and memory and, historically, it has been done on the main UI thread. Now, only the first part of the evaluation is carried out inside Katana and the second part of the process takes place in the new Service Host. This essentially runs the Ops evaluation as a service on the Renderboot side, instead of inside Katana itself.
The steps for Foresight+ involve following what happens when a change occurs during a Live Render. The main Katana application takes that change to the nodes and checks, for each active render, whether an Op has changed – therefore creating the possibility of a change to the scene. If the Op for an active render is different, Katana sends that Op change over to the active render through the new Service Host, which is now responsible for evaluating the Op tree and working out whether that Op change represents an attribute change that Renderboot – and in turn the renderer – needs to know about.
So, the whole system scales much better inside Katana, since converting to Ops is faster than a full evaluation. Renderboot itself needs minimal changes and by extension, the renderers have no additional work to do to support the new system.
Taking Advantage of Foresight+
To iterate faster when using Foresight+, users have access to any of Katana’s existing tools used to apply shortcuts to renders. One of these is Interactive Render Filters, used to tweak certain settings to economise on elements that aren’t needed for the purpose of checking lighting. If you can do without the hair, for example, you can filter it out of the render and save time. You can still check shadows, environment/lighting interactions and so on, as these will not be affected.
USD instancing inside the viewer.
Removing grooms or scatter, lowering the render quality settings, lowering resolution – any elements you remove are still present in the scene but do not cost in terms of time or performance during the render to the screen. Having Foresight+ means you can take such measures across numbers of shots at once.
Another render shortcut tool is render Working Sets, which separate the expansion and selection states of scene graph locations in the Scene Graph tab, from what is drawn in the Viewer tab, and from what is actually rendered. The non-persistence of these controls makes them useful for switches you may want to use interactively but don't want to mistakenly leave set for a batch render.
Foundry has also developed some workflow aids for Foresight+. One of these is a pinning feature for graph state variables. You can prevent certain of these variables from updating in your Live Render. They will ignore any changes and won’t interrupt the processing. Other new workflow aids are Expression Syntax additions, and Syncing to Project settings.
Instancing inside the viewer is another new feature which works like other Katana locations in that the moment you expand an instanced location in your node graph, is the moment you view it. This is important if you have huge numbers of points with many geometry variants, which tends not to work well with a GL viewer. With this function in Katana, you have full control of what is visualised in the viewer.
Render Delegates in the Hydra Viewer
Katana has its own render delegate now called Advanced ViewPort that displays an image very close to the final render, including screen space reflections and other looks.
More new features appearing in Katana 5.0 include the handling of USD render delegates. In 2018, Foundry was the first content creation software to ship with a Hydra viewer. Now, Foundry’s Hydra viewer allows users to pause and stop Hydra render delegates during rendering using a special interface, in order to make changes, for example, or to free up resources. The render delegates serve as bridges between the Hydra viewport and the render software.
Since 2018, various other DCC’s have begun to not only ship with a Hydra viewer as well, but also to develop their own render delegates to use instead of Storm, the GL render delegate that Pixar developed as a default for USD.
Foundry has its own render delegate for Katana now, too, called AVP (Advanced ViewPort) that displays an image very close to the final render. It is capable of producing screen space reflections and other looks that are essential to the artist’s understanding of how a final render will look. Up until now AVP has been available in Modo and in Mari, and having this dedicated delegate will now help artists working between Katana and Mari on look dev.
Katana-to-Nuke Interoperability
Using Nuke interoperability inside Katana, to send pixels from Katana to Nuke.
Foundry has developed a new Interoperability Framework for sending pixels between Nuke and Katana – sending data from Katana to Nuke, through the composite and then back to Katana – to help lighting and look development artists work closer to the composite. Now, this operation has been rebuilt on top of the Foresight+ framework.
Working with data from Katana, inside Nuke.
With this framework you can run Nuke open or headless (without a GUI), choose to create preview composites or to run live sessions with data streaming back and forth, all while sending multiple AOVs simultaneously.
To stay up-to-date on Katana developments, visit the Katana news page here and subscribe for the latest Katana news and announcements, including special insight into its upcoming 5.0 release. www.foundry.com