/blender-cli-rendering

Python scripts for rendering images using Blender 2.80+ from command-line interface

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

blender-cli-rendering

GitHub Blender

Python scripts for rendering images using Blender from command-line interface.

Principles

  • Able to run without display (thus, based on Cycles instead of EEVEE)
  • Support both Blender 2.79 & 2.80

Possible Usages

  • Visualization of 3D data with fancy rendering quality.
  • Generation of synthetic training datasets for machine learning-based computer vision.

Scripts

01_cube.py

  • Cycles renderer

01_cube

02_suzanne.py

  • Directional light
  • Algorithmic object placement
  • Subdivision surfaces
  • TRACK_TO constraint to achieve camera's look-at behavior
  • Depth of field
  • Smooth shading

02_suzanne

03_ibl.py

  • Node-tree
  • Image-based lighting using an HDR image

03_ibl

04_principled_bsdf.py

  • Principled BSDF
  • Denoising
  • Empty object as a target

04_principled_bsdf

05_composition.py

  • Composition nodes
  • Node group

05_composition

06_split_tone.py

  • Split tone effect
  • Checker board texture

06_split_tone

07_texturing.py

  • Image texture

07_texturing

08_animation.py

  • Keyframing
  • Motion blur

08_animation

09_armature.py

  • Skeletal animation
  • Skinning

09_armature

10_mocap.py

  • Mesh creation from Python data
  • BVH data import
  • Texture tiling
  • Camera following

10_mocap

11_mesh_visualization.py

  • Wireframe
  • Vertex colors
  • Transparent background

11_mesh_visualization

12_cloth.py

  • Cloth modifier
  • Collision modifier
  • Area light

12_cloth

13_matcap.py

  • MatCap (a.k.a. Lit Sphere)
  • Image filtering (e.g., sharpen)
  • Simple RGB background
  • Node frame

13_matcap

14_procedural_texturing.py

  • Noise texture

14_procedural_texturing

For Docker Users

Thanks to the fact that Blender can run on Linux without displays as a command line tool, it is straightforward to run all the above scripts using Docker.

git clone https://github.com/yuki-koyama/blender-cli-rendering.git
cd blender-cli-rendering
docker build -t blender-cli-rendering .
docker run -v /absolute/path/to/output/directory:/home/out blender-cli-rendering

Note that it is necessary to replace /absolute/path/to/output/directory with an appropriate path.

License

Scripts in this repository use the Blender Python API, which is licensed under GNU General Public License (GPL). Thus, these scripts are considered as derivative works of a GPL-licensed work, so they are also licensed under GPL following the copyleft rule.