earlyworm portfolio for will earl

FMX Report – The Foundry

Notes from the Foundry presentation at last weeks FMX in Stuttgart, Germany. Quite a bit of their presentation was already mentioned at NAB – in which case you should check out fxguide’s article here.

On the plane to Stuttgart, Germany. 2010

Mari

Presented by Jack Greasley (Software Developer at Weta Digital, now Mari Product Manager at Foundry) and Zoe Lord (Texture Painter at Weta Digital, now at Double Negative). The demonstration used the same V-Rex model from King Kong that was used in the demo given to fxguide (see part 1, part 2 and part 3 on the Foundry’s youtube channel) – so I suggest you check that out to get an idea of what the program is about. Some stuff worth mentioning from the FMX presentation…

  • + Running on a laptop – they did the presentation on a laptop and it still was just as responsive and fast. Main requirement is going to be a decent graphics card – they’re currently aiming at the high-end gaming and mid-level workstation range of cards with at least a gig of onboard graphics memory.
  • + For Textures not Sculpting - Mari is designed to just paint textures, you can currently view displacement via bump mapping so you can paint high frequency displacement maps which are commonly dealt with as texture maps rather than high-res geometry such as skin pores and cloth fibres. With newer graphics card supporting tessellation coming soon they’re looking into displaying displacement (extracted and painted) within Mari – so unlike Mudbox or Zbrush you won’t be able to change the underlying geometry, but you will be able to paint displacement and view the displaced results from within Mari. For a demo of DX11 tessellation in action see this comparison here, you might need to skip half way through the video to really see it in action, as it’s more obvious up in close.
  • + Custom Warp Points – in the fxguide demonstration it shows the dynamic lattice tools. But what they don’t show is the Custom Warp Points, which allows you to place freeform warp control points on the mesh and warp the texture.
  • + Patch tools – Similar to Photoshop, Mari has patch tools to fix problems paint areas or to seamlessly copy and paste selections.
  • + Paint Masking – This allows you to mask off areas you don’t wish to apply paint. They showed a fresnel (facing-ratio) mask for only painting on areas of geometry which are facing the camera and an ambient occlusion mask for painting in areas which aren’t occluded by the ambient light – it should be pointed out that these masks are fully adjustable and invert-able, so for example you can paint in areas which are occluded – ideal for dirt maps. No mention of any other types of masks such as world/object position or curvature.
  • + Paint tools work in 3D and 2D. They didn’t show this, but it was mentioned that one is able to paint textures in 2D (I presume in the UV viewer).
  • + Overkill – It was mentioned that while Weta’s use of texture maps might be extreme for one character – the V-Rex has over 500 x 2K texture maps for each of the the various channels (diffuse, spec, subsurface, dirt, etc) that go into the V-Rex shader, being able to paint that many textures at once might have a more practical usage in a game environment where one could load the entire environment and paint all the texture maps for it – giving a much more consistent result among all the painted assets in the environment.

Nuke

Presented by Simon Robinson (Chief Scientist at the Foundry), who mentioned a few of the new features coming to Nuke some time this year.

  • + Updates – Matchmover, RED SDK, Roto/Paint tools and Mac OS 64bit. There are hopefully going to be two update releases this year for Nuke.
  • + Modeller – This is the one that interested me the most as it has some functionality that I wish was in Maya. Basically they’re added the ability to do photogrammetry within Nuke which will allow you to create more complex cards and better positioned cards for projections. They provide only some very simple modelling tools, nothing to replace a proper modelling tool, but they’re done things very smartly – ideal for compositors but also for modelling terrain used for animation, dynamics and rendering reference.

Blink

Presented by Bruno Nicoletti (CTO). The Blink Project is designed to make programming for the GPU a lot easier for people working in image processing. Basically it’s a way to develop image processing tools on the CPU and then translate those tools effectively on to CUDA, OpenCL, etc. This project started because at the Foundry they were aware that there was a lot they could do to speed up some of their tools by using the GPU (and even the CPU – ie. SSE optimizations) more effectively, but to do that optimization work wasn’t feasible using current development methods.

Their test subject for the Blink project was Kronos – their retiming tool  which is used by a large number of their tools – primarily the Furnace plugin set. On the CPU they were able to retime a 2k film sequence at 2fps, while on the GPU they were able to retime the same sequence at 100fps. The first product they’re hoping to ship with this GPU optimization is Furnace for After Effects, and they’re aiming for a price around $100 (they mentioned dollars, so I’m guessing that’s in USD).

Because Nuke uses scanlines and the GPU requires tiles, it’s going to be much more difficult to get Nuke GPU optimized. They’re hoping to potentially add a tiled-based renderer into Nuke to compliment the scanline one already in place.

Katana

Update: The Katana presentation was by Andy Lomas.

So what is Katana? I’ve asked this myself back when fxguide first did an article on it.

So after seeing it in action – what is Katana? Well it’s a lighting tool with some compositing functionality in it – although at this stage the Foundry plan to remove the compositing functions from it (they already have Nuke for compositing), so I’ll concentrate on the lighting aspects of it. As a lighting tool it’s primarily used to manage the lighting scene – geometry, passes, shaders, attributes and assignments. It also has controls for lights and a render viewer. It isn’t a renderer, it’s only a tool for communicating to the renderer.

In simpler terms it’s Sony’s version of MtoR (Pixar), Solid (Weta), Rex (Double Negative), MayaMan (Animal Logic), Liquid (open-source) and any other companies in-house tool for exporting a Maya scene and rendering it within Pixar’s PRMan, except in this case Katana is a stand-alone tool rather than a plugin within Maya.

So what do these tools (as well as Katana) offer over Maya as a lighting tool.

  • + Pass Management – They have better control over pass assignments – in other words what objects (geometry, lights, nodes) are rendered by which pass. This also allows you to use different settings for each pass – camera, filetype, bit depth, frame range, resolution, samples, motion blur, etc.
  • + Shader Assignments – For each pass you have you can assign different shaders to the same object. So for example the Beauty pass will obviously get the hero shader with secondaries for diffuse, spec, ambient, reflection and subsurface, but an Info pass might get a shader which renders out a RGB matte for that object plus information such as objectPosition, worldPosition, normals, depth and UV.
  • + Attribute Assigments – As well as using different shaders for different passes, there is also the ability to change render attributes on an object. Some examples… Make an object invisible, but still cast shadows in one pass, but be visible to the render in another pass. Or if your using raytracing in your pass and want to turn it off on certain objects or use different trace settings (distance, samples, etc) on particular objects within the same pass or in different passes – attribute assignments allow you to do this.

So what does Katana offer in addition?

  • + Scene Management – Katana is mainly designed as a place to bring all your models, animation and effects to light and render. Katana doesn’t load objects off the disk unless you ask it too, by default any object you add to a Katana scene is displayed as a bounding box in the viewer and a single node in it’s outliner, so it doesn’t slow down if you have to deal with hundreds of thousands of objects in the scene. Perhaps a practical example might better explain how useful scene management is in Katana… Say you have to render New York City (like in Spiderman or King Kong), you look-dev each building in it’s own separate Katana scene, when your done with that building you add it to the master NYC environment which contains all the buildings in NYC. The Lead Lighting TD then creates a generic lighting scene for a sequence which contains the NYC environment, all the passes required for the compositing team and a basic light rig setup with environment lights and a sun-light. Each Lighting TD then opens this generic scene, adds the character animation for their specific shot, adjusts the lights and then hits render. The Lighting TD never needs to load up every building inside of Katana, so their lighting scene is light and easy to work with.
  • + Dynamic Assignment – This allows you to make assignments based on expressions. ie. Any object with “glass” in it’s name gets a glass shader. You could also tag attributes on the geometry and make assignments based on the attribute – 1 = glass, 2 = concrete, etc. It also allows for more complicated assignments than just wildcards or attribute assignments – I believed they mentioned you could use Python as well as Katana’s own expression language, so using python is especially cool if you wish to make assignments based on something like a noise function or your own custom function. Dynamic assignment applies to both shader and attribute assignment, so you could randomly place shaders on objects or randomly change the texture in a shader – the latter being a much more practical usage if you wish to use texture variants.
  • + Render Viewer – Not uncommon that inhouse tools have their own render viewer – seen as Maya’s is very limited and not very good. The viewer has control for region of interest, exposure, LUT (custom, gamma, linear), etc. It also allows you to bring up the attributes for an object by selecting that object in the render view – which is certainly useful if your debugging a scene (ie. “why doesn’t that object have a shader?”). I’m assuming it also has the ability to automatically store renders and make notes about each render (This last feature could be wishful thinking on my behalf – I’ve always wanted the ability to output certain shader settings as notes for each render when look-dev’ing). The render viewer also supports re-rendering – provided the renderer supports it. It’s a pity they’re planning on removing the compositing features as one could have made a basic light-mixer inside Katana for renderer’s which don’t support re-rendering.
  • + Multi Renderer Support – Currently only supports PRMan and Arnold, will support others provided someone writes the render translators for Katana – so it will support Mental Ray, Vray, etc provided someone puts in the effort to do so. Seen as how Mental Ray’s implementation in Maya is pretty rubbish it’d be nice to see it in implemented in Katana.

Comments are closed.