## Primary pixel samples Like in renderman ## Secondary pixel samples - Is driven by the noise level : - The lowe the value of noise level the more pixel max we are going to shoot - ![[file-20241123191046601.png|300]] - Min and Max : 3 MIn Max 9 and lowering the noise level ## Variance or distributed - Variance everytime except if complex material (refraction transparancy...) then distributed. It allow to tweak samples per category like in ARNOLD - ![[file-20241123190744389.png|323]] ## Dicing - **Dicing Camera** : Specifies a camera that is used for dicing complicated surfaces. This can provide consistent dicing of surfaces when the viewing camera is moving. - **Dicing Quality Scale** : This parameter is a global multiplier for dicing quality of all objects. ## Optimized version Bucket size : ![[file-20241123190608770.png|350]] ## Render Stats ‘Render -> Mplay -> Load disk files’ to load it back up ## Choosing render settings in viewport ![[file-20241130141123891.png]] ## Motion blur ![[image-20250508.png|450]] ![[image-20250508 1.png|450]] 1. The **cache node** is only needed if your **camera moves** and you want **camera motion blur**. 2. This test was done with **velocity** — **motion vectors** would also work; the difference is that **velocity can be controlled by attribute**, giving you per-point control. 3. **Check "Disable Image Blur"** — otherwise you get motion blur on the rendered image as well as the geometry. 4. In Nuke: use **Vector Blur**, and in the UV channel selector pick **velocity**. # AOV ## LPE - Split per light tag - ![[file-20241130141444489.png|475]] - Lpe naming in light - ![[file-20241130141607398.png|425]] - [[../../../../OUT OF PUBLISH/KNOWLEDGE OUT OF PUBLISH/BHGC/BHGC LPE KARMA]] - [[../../../../ARTFX OSMIUM/TOOLS/Notes/LPE For Emissive light - FABIO SGUERA - Houdini 20.0 HDA]] ## Cryptomatte ![[file-20241130141713682.png|450]] ## PREF - Pref ```python node = hou.pwd() stage = node.editableStage() from pxr import Sdf, Usd, UsdGeom import loputils # Get Parameters - Replace these with your own values! primpattern = "/geo/**" sourceframe = 1001 primvarname = "pRef" # Parse Primpattern ls = hou.LopSelectionRule() ls.setPathPattern(primpattern + ' & %type:Mesh') paths = ls.expandedPaths(stage=stage) # Compute Point Reference for prim in paths: prim = stage.GetPrimAtPath(prim) primvarsapi = UsdGeom.PrimvarsAPI(prim) points = prim.GetAttribute('points') points_values = points.Get(sourceframe) primvar = primvarsapi.CreatePrimvar(primvarname, Sdf.ValueTypeNames.Color3fArray, UsdGeom.Tokens.vertex) primvar.Set(points_values)