{"id":28549418,"url":"https://github.com/sherandrei/blender-gen-dataset","last_synced_at":"2026-05-14T13:38:14.615Z","repository":{"id":289171050,"uuid":"970100504","full_name":"SherAndrei/blender-gen-dataset","owner":"SherAndrei","description":"Generate synthetic datasets for Multi View Stereo with Blender","archived":false,"fork":false,"pushed_at":"2025-06-13T14:15:10.000Z","size":2735,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-31T13:40:06.223Z","etag":null,"topics":["ai","blender","computer-vision","multi-view-stereo","multiview-stereo","python","synthetic-data","synthetic-dataset-generation"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SherAndrei.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-21T13:23:38.000Z","updated_at":"2025-06-29T19:43:46.000Z","dependencies_parsed_at":null,"dependency_job_id":"2cdd8afb-20b7-4d07-abc0-c434ca86dd87","html_url":"https://github.com/SherAndrei/blender-gen-dataset","commit_stats":null,"previous_names":["sherandrei/blender-gen-dataset"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/SherAndrei/blender-gen-dataset","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SherAndrei%2Fblender-gen-dataset","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SherAndrei%2Fblender-gen-dataset/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SherAndrei%2Fblender-gen-dataset/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SherAndrei%2Fblender-gen-dataset/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SherAndrei","download_url":"https://codeload.github.com/SherAndrei/blender-gen-dataset/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SherAndrei%2Fblender-gen-dataset/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280841004,"owners_count":26400397,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-24T02:00:06.418Z","response_time":73,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","blender","computer-vision","multi-view-stereo","multiview-stereo","python","synthetic-data","synthetic-dataset-generation"],"created_at":"2025-06-10T02:10:07.792Z","updated_at":"2025-10-24T17:51:08.181Z","avatar_url":"https://github.com/SherAndrei.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Generate Learning-based Multi-view Stereo dataset using Blender Python API\n\nAs it states in [Blender's Python API Overview](https://docs.blender.org/api/current/info_overview.html)\n\n\u003e Blender has an embedded Python interpreter which is loaded when Blender is started and stays active while Blender is running.\n\nThis repository provides ability to generate synthetic datasets using ***ONLY*** Blender executable without any additional dependency.\n\nScript was tested on\n```\n❯ blender.exe --background --python-expr \"import sys; print(sys.version)\"\nBlender 4.2.9 LTS (hash a10f621e649a built 2025-04-15 01:46:41)\n3.11.7 (main, Jun 11 2024, 12:31:01) [GCC 11.2.1 20220127 (Red Hat 11.2.1-9)]\n\nBlender quit\n```\n\n---\n## Examples\n\nSee help\n```\nBlender 4.2.9 LTS (hash a10f621e649a built 2025-04-15 01:46:41)\nusage: blender [-h] model_path output_directory [number_of_renders]\n\nScript for generating rendered images of a 3D model using Blender, driven by config.toml.\n\npositional arguments:\n  model_path         Path to the 3D model file (OBJ, FBX, glTF, GLB).\n  output_directory   Directory where the rendered images will be saved.\n  number_of_renders  Number of images to generate per run.\n\noptions:\n  -h, --help         show this help message and exit\n  --dump-config      Dump user configuration as python dict and exit.\n  --skip-render      Setup everything and skip render.\n```\n\n1. Export monkey mesh Suzanne from `blender` as `.glb` (or download it [here](https://sketchfab.com/3d-models/suzanne-blender-monkey-29a3463e8d314c8fbda620800019cfb9))\n1. To generate one image into `output` directory use\n\n   ```sh\n   blender --background --python generate-batch.py -- suzanne.glb ./output\n   ```\n\n1. See result in `output` directory\n\n   ![preview](./references/suzanne.png)\n\n1. To generate 16 images from random locations into `output` directory use\n\n   ```sh\n   blender --background --python generate-batch.py -- suzanne.glb ./output 16\n   ```\n\n1. See result in `output` directory[^1]\n\n   ![preview](./references/suzannes.png)\n\n---\n## Configuration\n\nScript provides extensive configuration via user defined `config.toml`, see [config.default.toml](config.default.toml) for available parameters.\n\nTo dump parsed config and exit the program use\n\n   ```sh\n   blender --background --python generate-batch.py -- --dump-config\n   ```\n\n---\n## Plugins\n\nThis project ships with a config‑driven plugin system that lets you bolt new functionality onto the rendering pipeline without touching the main script.\n\n![preview](references/diamonds.png)\n\nSee available plugins and more in [PLUGINS.md](PLUGINS.md).\n\n---\n## Compatibility\n\nThe `compat/` directory contains helper scripts to restructure the output of this Blender dataset generator into formats compatible with popular neural rendering and 3D reconstruction frameworks:\n\n### Available Converters:\n1. **COLMAP** - Converts to standard COLMAP structure (images/, sparse/)\n   ```sh\n   python compat/to_colmap/to_colmap.py \u003cinput_dir\u003e \u003coutput_dir\u003e\n   ```\n2. **NSVF** - Prepares data for Neural Sparse Voxel Fields pipeline\n   ```sh\n   python compat/to_nsvf_dataset/to_nsvf_dataset.py \u003cinput_dir\u003e \u003coutput_dir\u003e\n   ```\n3. **IDR** - Formats data for Implicit Differentiable Renderer requirements\n   ```sh\n   python compat/to_idr_dataset/to_idr_dataset.py \u003cinput_dir\u003e \u003coutput_dir\u003e\n   ```\n\n---\n\n## FAQ\n\nSee [FAQ.md](FAQ.md)\n\n[^1]: this grid was made with [this](scripts/grid/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsherandrei%2Fblender-gen-dataset","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsherandrei%2Fblender-gen-dataset","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsherandrei%2Fblender-gen-dataset/lists"}