PIPELINE TECHNIQUES: Render with Redshift in Houdini
Stefan Kang on his optimum settings for Redshift rendering
in this tutorial you will learn about my process to set up the primary render settings using Redshift in houdini. We’ll start off by setting up a material. Then, we’ll set up particle render and custom AOVS. Finally, we’ll adjust the unified sampling to get a production quality render and set up some basic AOV map for multipass compositing. i’m breaking it up into a couple topics to make sure that i cover as much as possible in my settings.
My goal is to show you the advantages of using Redshift so you can utilise the GPU render.
i will also cover some important features that will help with your workflow. i hope this tutorial will encourage you to use Redshift in your own projects.
To accomplish this tutorial, it’s important that you have a basic understanding of houdini and are familiar with render engines. The Redshift version i’m using here is 2.5.51. Please make sure you have the latest version in order to follow the tutorial.
Material setup Let’s start by setting up a simple material before we move into rendering. here, i’m creating a displacement material using a colour layer to get the vein details on the surface.
To enable the displacement texture, you need to add a Redshift Object parameter on the SOP level of the geometry. Then find the Tessellation/displacement tab to enable the displacement. it’s more efficient to use the Redshift native catmull-clark tessellated surfaces, because the extraction time will be lower and the final geometry is more GPU memory efficient.
Then i use a texture image over the colour layer as a mask to create different veins and control their colour. The reason i’m using the blending mode to create the vein is because i want to be able to fully manipulate its position in rendering, so it can be applied on different shapes of geometry. next, go to the subsurface section, apply the transmittance colour and set the absorption scale to 30 with 1 as the scatter scale. The higher the absorption scale, the more density in the transmittance colour.
Custom AOV setup next, let’s set up some custom AOVS. This step is handy if you have already generated a custom attribute to control your effects. i often like to do this because i can create my own custom RGB layer and output it into the AOV map. This way the compositor will be able to further control the
effects using the AOVS. Go to the material network and add a Rs colour user data node. This node will allow you to import the attribute and store it under the material. Then you’ll need to go to the Redshift ROP output under the AOV tab and create a custom AOV channel. name the attribute name under the Redshift ROP output. it’s important to make sure the AOV name and the attribute name are the same. Keep in mind that there are a couple of different types of data. My attribute is mainly RGB colour (float value) related, so i’m only using the storecolour To AOV node. if you are looking to export scalar or integer value, then you should use the other relevant node to store the value (the node i disabled).
Particle rendering now we will set up a Particle render in Redshift. By default, the Particles won’t show up in the render unless you enable them. To enable Particle renders in Redshift, use the option available in the Particles of the Redshift OBJ spare Parameter and make sure to enable Render Object as Particles. By default, under Redshift OBJ> attributes, the automatic attribute extraction is enabled. i usually turn it off and specify the only attribute i need to use. This will help optimise the memory. now i’m allowing the use of this attribute under materials to control the shader. For this particular project, i’m using the pscale> Rsmathrange (it’s similar to a fitrange) to remap the diffuse and reflection, so the reflectivity will be varied based on the size of the particle.
Render setup – unified sampling now we will set up the sampling in the Redshift render settings. The unified sampling in Redshift is designed to handle AA, depth of field, motion blur and so on.
Therefore, it’s important to set the local samples (specular, Refractions, Brute Force Gi, Lights, AO) higher than the max sample. it’s recommended to have lower settings for the adaptive threshold like 0.003, to get production quality results. here i am using 4 minimum samples and 512 maximum samples. The sample settings here are what i found best for this project, but be aware that different environments required different samples for a better result. i also created a couple of materials like AO, Point Position pass, uv pass for better control in post compositing.
Set up Brute Force and irradiance cache next we will jump into setting up the Gi engines. For this shot, i’m focusing on using Brute Force as the Primary Gi engine and irradiance Pointcloud for the secondary. This way the irradiance Pointcloud will help the Brute Force engine to solve the areas that are harder to solve by averaging the pixel colour variation. This process will use the secondary Gi engine for multiple bounces. if you compare the two, you will notice the areas with noise now become smoother.
Multipass compositing Lastly, we will be setting up the AOV passes so we can do a beauty rebuild in the compositing stage and make final tweaks and controls to your image. i love doing this because a lot of the time you will need to re-adjust colour grading or add some 2D effects like glow or depth of field and motion blur to enhance the composition. All the AOV passes i’m using to rebuild are: diffuse filter, diffuse lighting raw, global illumination raw, subsurface scattering raw, specular lighting, reflections, refractions, caustic, emission, motion vectors, Zdepth. The image on step 6 shows you how i put together the passes with different blending modes with nuke being used for colouration to Linear, which is effectively disabling the cs settings for that image. normal maps especially should never be colour corrected, as their colour values are for controlling normal direction, so changing them will upset your normal. Any colour textures should of course be colour managed, and set to the default SRGB, to match SRGB displays correctly.