top of page

RenderMan for Katana Tutorials

Procedural Still Life Demo

Part I -- Katana and RenderMan Still Life Demo: Basic Scene Setup 

To set the stage for a more involved demo on procedural shading using RenderMan and Katana, this lesson covers the basics of putting a renderable scene together in Katana. We create a "still life" out of three spheres and a two tori, setup dome light using an HDR environment map of Pixar's campus, and apply a basic material.

Part II --Katana and RenderMan Still Life Demo: Procedural Shading 

This demo covers the basics of procedural shading using RenderMan for Katana.  We shade a couple of oranges using object space and uv space fractals that and combined and driving displacement.  Along the way we touch on scripting using PxrSeExpr nodes to mix patterns, and how to use OSL shaders, such as the oak pattern provided by RenderMan.

Part III -- Katana and RenderMan Still Life Demo: AOVs and Lighting 

This demo builds on our still life scene and covers how to use AOVs to create matte images to isolate parts of the scene for compositing, as well as isolate the contributions of specific lights.  Along those lines, we add more to the lighting, including a blocker for the environment light and a rim light constrained to the camera.  In the next demo, we'll cover how to render this out over multiple frames, denoise in post, and composite.

Part IV -- Katana and RenderMan Still Life Demo: Denoising 

Building on our katana still life demo, this tutorial covers how to run RenderMan's denoiser on the results.  As usual, I did this demo in one take and have a bunch of blunders.  I do not have time to edit these, but on re-watching I found my error,  I accidentally used -v -variance instead of -v variance as an argument.  The crossframe denoising command should look like: 

denoise  --crossframe -v variance image_variance.{FRAMES}.exr

where FRAMES is a comma separated list of frame numbers.

Part V -- Projections and Ramps in RenderMan for Katana

This demo explains how to use projections and ramps in RenderMan for Katana.  We build off a basic procedural still live scene (see https://youtu.be/G0Mndpkpb_A and https://youtu.be/eQbHEwiOXAQ), and add a coordinate system to project a label texture onto an orange.  We cover how to convert the texture into a non-tiling RenderMan tiling format, create a coordinate system, PxrManifold3d, and PxrProjection node to plaace to texture.  We then use a PxrRamp in circular mode to add coloration using the same manifold.

Note: this demo was created with RenderMan 21.4 and Katana 2.5 on 2015 macbook pro, some of these workflows may very well be deprecated in future versions.  I certainly expect the PxrRamp node will get a nicer UI.

City Scene Demo

Part I

Part I

This lesson is part 1 of a 3 part demonstration of how to shade and light a city block in Katana and RenderMan. In this section, we cover how to import geometry and camera from maya into Katana using alembic, and how to set up baked occlusion and curvature maps for every object in the scene as a basis for procedural shading. This involves assigning the bake material at the leaf geometry node level, exposing the file name of the baked textures as a material parameter, and setting this parameter based on the geometry name using an OpScript in deferred mode. For those trying this technique out, be sure all your geometry has unique non-overlapping UVs, suitable for baking (automatic mapping in Maya is suitable).

Disclaimer: This video is a recorded rehearsal for a lecture I gave at the Filmakademie Baden-Wuerttemberg in July 2017, and is not an official tutorial from Pixar or The Foundry. It was made using RenderMan 21.5 and Katana 2.5 on a 2015 macbook pro running bootcamp, which predates the dramatic improvements in live rendering planned for RenderMan 22. Not having much experience with screen capture on windows, you'll have to excuse the audio dropouts, and loss of sync. These caveats aside, I still feel there some value in posting these rehearsals given the need for documentation/instruction in these areas.

UPDATE: There was a request that I share the city and camera alembic files, I've provided links below, as well as the textures I use for Part 2:

# City and Camera Alembic Geometry
https://www.dropbox.com/s/c1snlghlysb...
https://www.dropbox.com/s/yv24ypqvpjp...

# Brick Color and Bump Textures
https://www.dropbox.com/s/hnioauzwtim...
https://www.dropbox.com/s/legkeamj6fe...

Part II

This lesson is part 2 of a 3 part demonstration of how to shade and light a city block in Katana and RenderMan.  In this section, we cover how to use baked occlusion and curvature textures to drive procedural aging on a layered shader of dirt, chipped paint, and brick.  My apologies for the poor audio quality and sync, by the end of the video, there’s about a 50 second lag.  Also, this video contains a HUGE error: when switching form bake render branch to the final render brach, I did not copy the OpScript which set the baked texture file names, or the CEL for the material assign which assigned shaders at the leaf geometry level.  This meant every render was using live and not baked occlusion and curvature, and was thus both noisier and slower than they should have been.  In part 3 I correct this mistake.  Sorry!

Disclaimer: This video is a recorded rehearsal for a lecture I gave at the Filmakademie Baden-Wuerttemberg in July 2017, and is not an official tutorial from Pixar or The Foundry.  It was made using RenderMan 21.5 and Katana 2.5 on a 2015 macbook pro running bootcamp, which predates the dramatic improvements in live rendering planned for RenderMan 22.  Not having much experience with screen capture on windows, you'll have to excuse the audio dropouts, and loss of sync.  These caveats aside, I still feel there some value in posting these rehearsals given the need for documentation/instruction in these areas.

Part III

This lesson is part 3 of a 3 part demonstration of how to shade and light a city block in Katana and RenderMan.  We start by fixing a HUGE error in the previous tutorial by correctly reading from out baked occlusion and curvature.  Next I introduce the use of primitive variables (primvars) for changing shader parameters based on attributes on the scene geometry.  Finally I present the “final result” by showing a version of the scene where I set primvars across the scene and added lighting.

Disclaimer: This video is a recorded rehearsal for a lecture I gave at the Filmakademie Baden-Wuerttemberg in July 2017, and is not an official tutorial from Pixar or The Foundry.  It was made using RenderMan 21.5 and Katana 2.5 on a 2015 macbook pro running bootcamp, which predates the dramatic improvements in live rendering planned for RenderMan 22.  Not having much experience with screen capture on windows, you'll have to excuse the audio dropouts, and loss of sync.  These caveats aside, I still feel there some value in posting these rehearsals given the need for documentation/instruction in these areas.

Final Result

This the "finished" product from my procedural city shading and lighting lesson in RenderMan and Katana. Each frame is 128 samples and has some over-zealous compositing (also in Katana), to cover up the schmutz.

bottom of page