Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/allenai/objaverse-rendering
📷 Scripts for rendering Objaverse
https://github.com/allenai/objaverse-rendering
3d ai blender objaverse
Last synced: 28 days ago
JSON representation
📷 Scripts for rendering Objaverse
- Host: GitHub
- URL: https://github.com/allenai/objaverse-rendering
- Owner: allenai
- License: apache-2.0
- Created: 2023-02-01T06:05:31.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2023-08-17T18:29:00.000Z (about 1 year ago)
- Last Synced: 2024-09-19T03:25:10.859Z (about 2 months ago)
- Topics: 3d, ai, blender, objaverse
- Language: Python
- Homepage: https://objaverse.allenai.org
- Size: 45.9 KB
- Stars: 209
- Watchers: 8
- Forks: 10
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Objaverse Rendering
Scripts to perform distributed rendering of Objaverse objects in Blender across many GPUs and processes.
### System requirements
We have only tested the rendering scripts on Ubuntu machines that have NVIDIA GPUs.
If you run into any issues, please open an issue! :)
### Installation
1. Install Blender
```bash
wget https://download.blender.org/release/Blender3.2/blender-3.2.2-linux-x64.tar.xz
tar -xf blender-3.2.2-linux-x64.tar.xz
rm blender-3.2.2-linux-x64.tar.xz
```2. Update certificates for Blender to download URLs
```bash
# this is needed to download urls in blender
# https://github.com/python-poetry/poetry/issues/5117#issuecomment-1058747106
sudo update-ca-certificates --fresh
export SSL_CERT_DIR=/etc/ssl/certs
```3. Install Python dependencies
```bash
pip install -r requirements.txt
```4. (Optional) If you are running rendering on a headless machine, you will need to start an xserver. To do this, run:
```bash
sudo apt-get install xserver-xorg
sudo python3 scripts/start_xserver.py start
```### Rendering
1. Download the objects:
```bash
python3 scripts/download_objaverse.py --start_i 0 --end_i 100
```2. Start the distributed rendering script:
```bash
python3 scripts/distributed.py \
--num_gpus \
--workers_per_gpu \
--input_models_path
```This will then render the images into the `views` directory.
### (Optional) Logging and Uploading
In the `scripts/distributed.py` script, we use [Wandb](https://wandb.ai/site) to log the rendering results. You can create a free account and then set the `WANDB_API_KEY` environment variable to your API key.
We also use [AWS S3](https://aws.amazon.com/s3/) to upload the rendered images. You can create a free account and then set the `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY` environment variables to your credentials.
### 👋 Our Team
Objaverse is an open-source project built by the [PRIOR team](//prior.allenai.org) at the [Allen Institute for AI](//allenai.org) (AI2).
AI2 is a non-profit institute with the mission to contribute to humanity through high-impact AI research and engineering.