Skip to content

Scripts for batch rendering models using Blender. Tested with models from stanfords shapenet library. Updated for recent Blender version.

License

Notifications You must be signed in to change notification settings

mvoelk/stanford-shapenet-renderer

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Stanford Shapenet Renderer

A little helper script to render .obj files (such as from the stanford shapenet database) with Blender.

Tested on Linux, but should also work for other operating systems. By default, this scripts generates 30 images by rotating the camera around the object. Additionally, depth, albedo, normal and id maps are dumped for every image.

Tested with Blender 2.9

Example invocation

To render a single .obj file, run

blender --background --python render_blender.py -- --output_folder /tmp path_to_model.obj

To get raw values that are easiest for further use, use --format OPEN_EXR. If the .obj file references any materials defined in a .mtl file, it is assumed to be in the same folder with the same name.

Batch rendering

To render a whole batch, you can e. g. use the unix tool find:

find . -name *.obj -exec blender --background --python render_blender.py -- --output_folder /tmp {} \;

To speed up the process, you can also use xargs to have multiple blender instances run in parallel using the -P argument

find . -name *.obj -print0 | xargs -0 -n1 -P3 -I {} blender --background --python render_blender.py -- --output_folder /tmp {}

Example images

Here is one chair model rendered with 30 different views:

Chairs

About

Scripts for batch rendering models using Blender. Tested with models from stanfords shapenet library. Updated for recent Blender version.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%