## 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)