Skip to content

feat: unify Blender rendering quality with shape-completion Renderer and blender_load.py #8

Description

@hummat

Context

Multiple Blender rendering codepaths exist across projects. bproc-pubvis has the best lighting, backdrop, and publication defaults, but lacks some features found in other rendering approaches. Goal: unify correctness and quality.

Missing features

Camera

  • Custom K-matrix intrinsics: Some renderers accept custom camera intrinsic matrices for precise camera control. bproc-pubvis uses location-based camera setup only.

Output

  • Normal maps: Other renderers output color, depth, and normal maps natively. bproc-pubvis outputs color and optional depth compositing but no normal maps.
  • Multi-engine fallback: Some renderers support Cycles, EEVEE, PyRender, Open3D, PyTorch3D with automatic fallback. bproc-pubvis supports Cycles and EEVEE only.

Point clouds

  • Auto-radius from density: Other approaches compute per-point radius via KDTree nearest-neighbor with density-aware floors, handling varying point densities gracefully. bproc-pubvis uses fixed instance sizing.
  • Density-aware subsampling: Other approaches support both destructive and runtime subsampling with density floors. bproc-pubvis has FPS subsampling but no density-aware floors.

Materials

  • Product-style materials: Some renderers use Principled BSDF with coat weight, coat roughness, and specular level for product-style shots. bproc-pubvis uses preset-based materials which are good but less fine-tunable.

Strengths to preserve

  • Publication-ready defaults (Filmic, Medium Contrast, OptiX→OIDN denoiser)
  • Structured lighting (key/fill/rim) with configurable intensity
  • Shadow presets (VERY_HARD→VERY_SOFT)
  • Shadow catcher backdrop, HDRI support, transparent gradients
  • Animation support (orbit, tumble, gravity)
  • CLI-driven dataclass config
  • Enum-based presets (Look, Shadow, Light, Shape) for reproducibility

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions