Nodes/BrainDead Nodes/BD OVoxel Texture Bake
ComfyUI Node

BD OVoxel Texture Bake

Bake PBR onto the mesh you chose — BD OVoxel Texture Bake

By BizaNator·Created 8 months ago·Updated 3 days ago· 15
BD OVoxel Texture Bake
  • mesh
  • voxelgrid
  • mesh
  • diffuse
  • normal
  • metallic
  • roughness
  • alpha
  • status
texture_size2048
inpaint_radius3

The all-in-one BD OVoxel Bake is great when you just want a textured mesh. But the moment you care which mesh gets textured - your hand-decimated model, your carefully unwrapped UV layout - the all-in-one is doing too much. It decides the simplification and the unwrap for you. BD OVoxel Texture Bake is the version that says "bake only": you bring the mesh (already decimated, already UV-unwrapped, the way you want it) and it bakes the PBR maps from the TRELLIS2 voxelgrid onto that mesh, no topology decisions made on your behalf.

Mechanically it's the same Microsoft o_voxel reference bake, but restructured around your mesh as the destination. The pipeline: build a BVH from the original high-res mesh stored in the voxelgrid, rasterize your mesh in UV space with nvdiffrast, project each texel position onto the original surface via the BVH, trilinearly sample the voxel attributes at those projected points, inpaint the UV seams, and output the individual PBR maps.

Inputs and outputs

Only four inputs, and three are required:

  • mesh - your pre-processed TRIMESH, with UVs. This is the mesh the textures land on.
  • voxelgrid - the TRELLIS2 voxelgrid carrying PBR attributes and the original mesh data it uses for sampling.
  • texture_size (default 2048) - output texture resolution.
  • inpaint_radius (default 3) - how aggressively it fills UV seams. Raise it if you see seam bleed; you almost never need more than 5–6.

Outputs mirror the all-in-one: mesh (now textured) plus diffuse, normal, metallic, roughness, alpha, and status. Wire the maps into BD Pack Bundle or any exporter.

The README positions it explicitly after your own pipeline:

BD CuMesh Simplify → BD UV Unwrap → BD OVoxel Texture Bake

That's the whole pitch: it slots into the middle of your chain rather than owning the chain. Prefer it whenever you've already got a decimation or unwrap you're happy with - you keep your quad flow or your packed UV islands, and the node just paints them.

Install & the usual notes

Same pack, same install: ComfyUI Manager search "BrainDead", or clone into custom_nodes and pip install -r requirements.txt. The bake needs the GPU/rasterization stack (nvdiffrast), and the pack runs on ComfyUI's newer V3 API, so keep ComfyUI updated.

The trap to avoid is feeding this a mesh that isn't UV-unwrapped - it will happily produce garbage because there's no UV space to rasterize into. If your textures come out as noise or don't map to the shape, check that your mesh has UVs first. And remember the input mesh has to actually correspond to the voxelgrid's original object; baking TRELLIS2 output A onto mesh B from a different generation is asking for a texture that doesn't line up. Generated topology caveat applies as always: the texture will be clean, the underlying geometry is still whatever the generator gave you.

Category🧠BrainDead/Mesh

Inputs (4)

NameTypeDefaultDescription
meshTRIMESHPre-processed mesh WITH UVs (from your own simplify + unwrap pipeline)
voxelgridVOXELGRIDTRELLIS2 voxelgrid with PBR attributes and original mesh data
texture_sizeINT2048512–8192Output texture resolution (voxelgrid source is 512-1536, but normal maps benefit from higher)
inpaint_radiusINT31–10Inpainting radius for UV seam filling

Outputs (7)

NameTypeDescription
meshTRIMESH
diffuseIMAGE
normalIMAGE
metallicIMAGE
roughnessIMAGE
alphaIMAGE
statusSTRING