---
title: "Generating Rest Position Pass in V-Ray for Houdini"
canonical: "https://documentation.chaos.com/space/VRAYHOUDINI/113280132/Generating%20Rest%20Position%20Pass%20in%20V-Ray%20for%20Houdini"
format: markdown
---
This guide shows you how to generate rest position passes in V-Ray for Houdini. Overview A rest position pass (also referred to as a rest pass or rest position AOV) is used in compositing to help handle image warping, deformations, or tracking effects consistently across a deforming or animated 3D object. The rest position pass captures the original, undeformed state of the geometry – typically its bind pose or static shape at frame 0 – and serves as a stable reference point. It provides a stable reference for where points are ‘anchored’ in the undeformed mesh. Rest Position Pass Usage Rest position pass can be used in several common cases: Relighting:  For relighting in compositing while keeping a consistent surface reference that does not change with motion/deformation.  Reprojection and Warping:  For projecting textures, masks, or effects like dirt, water, or shadows onto a deforming surface without them swimming or sliding. The rest position pass helps lock those effects to the object. Texture/Detail Stickiness:   When applying a procedural or painted texture in Nuke, the rest position allows you to stick it to the object consistently across frames. Generate Rest Position Pass V-Ray for Houdini provides you with the option to generate AOVs (Render Elements) either globally (for all scene objects), or per material (where the AOV is generated at the material level, and isolated only to objects with that specific material applied to them). Generate Globally At the scene/global level, plug a V-Ray User Color into a V-Ray Extra Texture render element inside the Render Elements ROP. Go to the |out| network and create a V-Ray Render Elements node by right-clicking > V-Ray > V-Ray Render Elements. Dive inside the node and create two V-Ray ExtraTex render channels by right-clicking > V-Ray > Render Channel > V-Ray ExtraTex (RE). Plug the ExtraTex channels respectively into the  Channel 1  and  Channel 2  input slots of the V-Ray Channels Container. Note that the Channels Container is created automatically with the creation of the V-Ray Render Elements node. Enable the  Force 32-bit Output  option for both ExtraTex channels. Create two V-Ray User Color textures by right-clicking > V-Ray > Texture: Utility > V-Ray User Color. Then plug them respectively into the first and second texmap slots of the ExtraTex channels (as shown in the image). In the parameters of the first texture, add  rest  in the  Attributes  field. In the parameters of the second texture, add  rnml  in the  Attributes  field. Then go to the V-Ray Renderer node, and find the Images tab > Render Elements rollout. Add the V-Ray Render Elements node to the  Network  field. Generate Per Material An artist could output any mesh data by using a V-Ray User Color or V-Ray User Float nodes. At the material level, plug the User Color sampling the  rest  and  rnml  attributes into the V-Ray Material Output VOP. Plug the output of a V-Ray User Color texture to the rest input slot of the V-Ray Triplanar texture. You can append 'rest' to the texture’s name. This can help you manage materials and textures more efficiently within your scene. In the V-Ray User Color texture parameters, type  rest  in the  Attribute  field.  rest  is the position (i.e. P) of the object without any animation. Plug another V-Ray User Color texture to the rnml input slot of the V-Ray Triplanar texture. You can append ‘rnml’ to the texture’s name. In the V-Ray User Color texture parameters, type  rnml  in the  Attribute  field.  rnml  is the normals (i.e. N) of the object without any animation. The purpose of the  rest  and  rnml  attributes is to provide V-Ray with a way to calculate the projection over a static object.