๐ฌ PBR AOV Generator (Render Passes)
Render Passes Straight Out of Your PBR Maps (No 3D Renderer)
- albedo
- normal_map
- environment_map
- roughness_map
- metallic_map
- ambient_light
- gi_light
- diffuse
- reflection
In a real renderer, you'd light your material, split the result into ambient, GI, diffuse, and reflection passes (AOVs), then recombine them however you like in compositing. PBR AOV Generator does the same split without the renderer - it takes your PBR maps and an environment map and emits four separate lighting passes you can comp, grade, or mask independently.
That separation is the whole point. A single lit image commits you to one lighting decision; four passes let you decide later. You can darken the ambient, boost the reflection pass to make a surface feel more metallic, or mask the diffuse to only hit part of the frame - all after the fact, in the graph, without re-lighting. If you're building textured materials for a game or a render and you want a preview that behaves like the real compositing step, this is the node.
How it works
It's the IBL relighter machinery wearing a compositor's hat. Your normal map is decoded to vectors (with the OpenGL/DirectX green flip), and the equirectangular environment map is sampled to build the lighting:
- Ambient - a flat fill (
ambient_intensity, 0-2), the even light that keeps shadows from crushing. - GI - the "indirect" pass (
gi_intensity), the environment's ambient contribution wrapped around the surface normals. Your cheap global illumination. - Diffuse - the direct, direction-driven shading of the albedo (
diffuse_intensity). - Reflection - the specular pass, sampled along reflection vectors and scaled by
reflection_intensity, optionally modulated by aroughness_map(which blurs the reflections locally) and ametallic_map(which shifts how much reflects vs. diffuses).
Feed it an albedo, a normal map, and any equirectangular HDRI (polyhaven and the like work fine), plus optional roughness/metallic maps, and four passes come out: ambient_light, gi_light, diffuse, and reflection.
Inputs that matter
- albedo, normal_map, environment_map - the required trio. The environment is your light source, so choosing the HDRI is choosing the lighting.
- environment_rotation (โ180 to 180) - spin the HDRI instead of re-aiming lights.
- The four intensity sliders (ambient, gi, diffuse, reflection, each 0-2) - set the initial balance of the passes.
- roughness_map / metallic_map - optional, but plugging them in is what separates a flat fake from a pass set that behaves like real PBR.
Installing it
Part of TextureAlchemy:
cd ComfyUI/custom_nodes
git clone https://github.com/amtarr/ComfyUI-TextureAlchemy
or via ComfyUI Manager (search "TextureAlchemy"), then restart. Under Texture Alchemist โ Lighting. No model downloads, no pip deps - it's sampling math on images.
Pairing it
Because the outputs are plain IMAGE passes, they feed naturally into the pack's Pass Mask Applicator (cut all four passes with one mask) or straight into a saver if you want per-pass files for a compositor like Nuke or Photoshop. The honest caveat: these are stylized approximations, not a real renderer's AOVs - there's no actual bounce light simulation. But for preview, grading, and masking practice, it gets you 90% of the compositing lesson with zero 3D software in the loop.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| albedo | IMAGE | Albedo/diffuse color map | |
| normal_map | IMAGE | โ | |
| environment_map | IMAGE | HDRI or irradiance map | |
| environment_rotation | FLOAT | 0-180โ180 | Rotate environment map (degrees) |
| ambient_intensity | FLOAT | 0.100โ2 | Ambient fill light intensity |
| gi_intensity | FLOAT | 1.00โ2 | Global illumination (indirect) intensity |
| diffuse_intensity | FLOAT | 1.00โ2 | Direct diffuse lighting intensity |
| reflection_intensity | FLOAT | 1.00โ2 | Reflection/specular intensity |
| normal_format | COMBO | OpenGL | Normal map format |
| roughness_mapopt | IMAGE | โ | |
| metallic_mapopt | IMAGE | โ |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| ambient_light | IMAGE | โ |
| gi_light | IMAGE | โ |
| diffuse | IMAGE | โ |
| reflection | IMAGE | โ |