What is Photometric Stereo?
Photometric stereo is a technique that reconstructs surface normals by analyzing how a surface reflects light from multiple directions. By photographing an object under different lighting angles while keeping the camera stationary, we can calculate the surface orientation at each pixel.
This method produces exceptionally accurate normal maps that capture subtle surface details often missed by other techniques.
Why Use Photos Instead of Height Maps?
Advantages
- Captures real materials: Authentic texture detail from physical objects
- Includes micro-details: Surface variation too fine to model manually
- Better edge definition: Sharper transitions between surface angles
- No manual sculpting: Automates what would take hours in 3D software
When to Use This Method
Ideal for:
- Scanning real-world materials (brick, fabric, stone, wood)
- Creating texture libraries from physical samples
- Matching existing props or environments
- Organic surfaces with complex detail
Equipment Requirements
Minimal Setup
Camera:
- Any digital camera or smartphone
- Fixed position (use tripod)
- Manual exposure control preferred
Lighting:
- 4 identical light sources (LED panels, flashlights, or softboxes)
- Positioned at: top, bottom, left, right
- Equal distance from subject
- Same intensity across all angles
Subject:
- Matte or semi-matte finish (avoid mirrors or glass)
- Textured surface for best results
- Fixed position between shots
Shooting Process
Step 1: Setup
Camera Setup:
├─ Mount on tripod
├─ Frame subject to fill frame
├─ Set manual exposure
├─ Disable auto-white balance
└─ Use RAW format if possiblePosition lights at 45° angle from subject, approximately:
- 1-2 feet away for small objects
- 3-4 feet for larger surfaces
Step 2: Capture Sequence
Take 4 photos with only ONE light active per shot:
- Top Light Only (light from above)
- Right Light Only (light from right)
- Bottom Light Only (light from below)
- Left Light Only (light from left)
Critical: Camera and subject must remain perfectly still across all 4 shots.
Step 3: Verify Captures
Check that:
- All images have identical framing
- Exposure is consistent
- Each light direction is clearly different
- No unwanted shadows from other angles
Processing the Photos
Upload to Normal Map Generator
- Select "Photo Method" mode
- Upload 4 images in order: above → right → bottom → left
- Tool automatically analyzes lighting direction
- Calculates surface normals from brightness variation
Optimization Controls
Strength: Amplifies subtle surface detail
- Lower (0.3-0.5): Gentle undulations, fabric
- Medium (0.5-0.8): Standard surfaces, wood, stone
- Higher (0.8-1.0): Sharp detail, concrete, metal
Blur/Smoothing: Reduces noise from photo grain
- Helps with: High ISO photos, uneven lighting, sensor noise
- Balance: Too much removes fine detail
Level Adjustment: Sets baseline surface orientation
- Use if output appears inverted or overly dark
Common Issues and Solutions
Problem: Inconsistent Lighting
Symptoms: Patchy or incorrect normals
Causes:
- Lights at different intensities
- Varying distances from subject
- Ambient light contamination
Solutions:
- Measure light distances with tape
- Use identical bulb wattages
- Shoot in darkened room
- Take exposure bracketed sets if needed
Problem: Motion Between Shots
Symptoms: Blurred or offset normal details
Causes:
- Camera shake
- Subject movement
- Tripod instability
Solutions:
- Use remote shutter release or timer
- Secure subject firmly
- Weight tripod for stability
- Shoot multiple sets and pick best
Problem: Overexposed Highlights
Symptoms: Lost detail in bright areas
Causes:
- Lights too close
- Reflective surface areas
- Incorrect exposure settings
Solutions:
- Increase light distance
- Reduce light intensity or camera ISO
- Use exposure compensation (-1 to -2 stops)
- Apply polarizing filter for reflective materials
Advanced Techniques
6-Light Setup
For even more accurate results, add two additional lights:
- Front-Top (45° above and in front)
- Front-Bottom (45° below and in front)
This captures more surface angle variation and reduces ambiguity in flat areas.
HDR Photometric Stereo
Combine multiple exposures per lighting direction:
Per Light Direction:
├─ Underexposed (-2 stops)
├─ Normal exposure
└─ Overexposed (+2 stops)Merge to HDR, then process each direction. Captures full detail range from dark crevices to bright highlights.
Texture Separation
After generating the normal map, you can extract:
- Albedo: Average the 4 photos (removes directional lighting)
- AO: Analyze shadowing in crevices
- Roughness: Derive from specular variation across angles
Material-Specific Tips
Fabric and Cloth
- Use diffused lighting to avoid hot spots
- Increase smoothing to handle weave patterns
- Shoot slightly underexposed to retain thread detail
Stone and Concrete
- Sharp lighting for clear shadows in pits
- Minimal smoothing to preserve grain
- Consider 6-light setup for complex surfaces
Wood Grain
- Light from multiple angles reveals grain direction
- Medium strength settings work best
- Watch for specular reflections from finish/varnish
Metal (Brushed/Textured)
- Extremely challenging due to specularity
- Use cross-polarized filters if available
- Focus on matte metal finishes
- May need manual cleanup in areas of specular highlights
Exporting for Production
Once processed:
- Review in 3D Preview: Rotate model to check all angles
- Adjust Tiling: Ensure edges match if creating seamless texture
- Export Resolution: Match source photo resolution
- Format: PNG for web, TIFF for film/VFX pipelines
Workflow Integration
Photometric stereo fits into larger pipelines:
Photo Capture
↓
Normal Map Generation
↓
├─→ Import to Substance Painter (bake to 3D model)
├─→ Use in Photoshop (overlay on albedo)
├─→ Direct engine import (Unity/Unreal)
└─→ Combine with other PBR mapsConclusion
Photometric stereo provides unmatched quality for capturing real-world surface detail. While it requires more initial setup than using height maps, the results are worth the effort for:
- Character skin and clothing
- Environment materials (walls, floors, props)
- Product visualization
- VFX texture libraries
With practice, you can capture a complete texture set in under 15 minutes, from camera setup through final normal map export.
The key is consistency: fixed camera, controlled lighting, and careful attention to shadows across all four directional photos.
