Photogrametry Prosessing
In Houdini
October 30, 2025
Part 1: Model Processing Post Scan
In this week’s blog, I’ll showcase my process for optimizing a raw photogrammetry mesh exported directly from RealityScan. The workflow covers retopologizing the high-poly model into a clean, lower-poly version, generating new UVs, and baking texture maps from the original high-resolution model onto the retopologized mesh and its LODs.
I. Procedural Retopologizing
To begin, it’s essential to ensure the mesh is clean and watertight, with no open holes, floating geometry, or pinching surfaces. Houdini’s VDB workflow is particularly effective for this stage.
Using VDB From Polygons, I converted the mesh into a voxel representation, which naturally helps seal small gaps and remove surface artifacts while retaining as much surface detail as possible. Next, I applied VDB Remesh and VDB Smooth to further clean up any residual noise or unwanted geometry.
Once the mesh was sufficiently cleaned, I converted it back to polygons, resulting in a triangulated surface. Houdini 21’s Quad Remesh proved extremely useful for this stage—it converts arbitrary topology into structured quads while maintaining surface curvature and flow.
For my LOD0 (Level of Detail 0), I targeted around 100,000 quads, reduced from the original 14 million triangles, preserving key details while significantly improving edge flow and performance. Using the same setup, I generated additional LODs, each one halving the polygon count from the previous version for scalability.
Original mesh: 14 millions tris
VDB workflow and Quad Remesh
II. UV Generating
Since my goal was to create a fully procedural retopology and texturing pipeline with minimal manual intervention, I automated the UV generation process as well. After recalculating normals on the retopologized LOD0, I used SideFX Labs Auto UV to automatically generate optimized UV islands. Once satisfied with the UV layout, I transferred the UVs to the remaining LODs using Labs UV Transfer, ensuring consistent texture alignment across all levels of detail.
III. Texture Baking in SOPs and COPs
The original scan data included Diffuse, Roughness, and Metallic texture maps. To transfer these to the retopologized meshes, I used SideFX Labs Maps Baker directly at the SOP level.
After assigning the original textures to the high-poly mesh using a Quick Material node, the Maps Baker node generated high-quality bakes of all texture channels onto the low-poly model. I exported multiple texture resolutions to accommodate different use cases within a scene—offering flexibility between performance and fidelity.If you like to learn more indepth about the process of baking texture maps, Bryan Bentley's series about Copernicus is great resource to watch: https://www.youtube.com/watch?v=IqK4CpvWRx4
For additional baking, such as Normal and Displacement maps, I experimented with Copernicus’ Bake Geometry Textures node inside COPs. This node provides an intuitive way to generate accurate texture bakes directly in Houdini, and its workflow is thoroughly documented in the SideFX help files—highly recommended for those interested.
Non texture baked model
Normal and Displacement baked on model
The initial tests in Solaris showed promising results—textures baked cleanly and LOD transitions looked smooth. I plan to continue refining this pipeline over the next few weeks to develop it into a fully procedural tool for processing photogrammetry assets efficiently.
 
                         
            
              
            
            
          
               
            
              
            
            
          
               
            
              
            
            
          
               
            
              
            
            
          
               
            
              
            
            
          
               
            
              
            
            
          
               
            
              
            
            
          
               
            
              
            
            
          
              