Python scripts for rendering images using Blender from command-line interface.
- Able to run without display (thus, based on Cycles instead of EEVEE)
- Support both Blender 2.79 & 2.80
- Visualization of 3D data with fancy rendering quality.
- Generation of synthetic training datasets for machine learning-based computer vision.
- Cycles renderer
- Directional light
- Algorithmic object placement
- Subdivision surfaces
TRACK_TO
constraint to achieve camera's look-at behavior- Depth of field
- Smooth shading
- Node-tree
- Image-based lighting using an HDR image
- Principled BSDF
- Denoising
- Empty object as a target
- Composition nodes
- Node group
- Split tone effect
- Checker board texture
- Image texture
- Keyframing
- Motion blur
- Skeletal animation
- Skinning
- Mesh creation from Python data
- BVH data import
- Texture tiling
- Camera following
- Wireframe
- Vertex colors
- Transparent background
- Cloth modifier
- Collision modifier
- Area light
- MatCap (a.k.a. Lit Sphere)
- Image filtering (e.g., sharpen)
- Simple RGB background
- Node frame
- Noise texture
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.
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.