Blender Operators: Teaching Your Python Add-on What It Can Do
Learn how to build Blender operators in Python — covering bl_options, poll(), invoke(), and report() with a real add-on example.
From One File to a Real Package: Structuring Your Blender Add-on
Learn how to convert a single-file Blender add-on into a proper Python package — with clean imports, modular files, and a registration system that scales.
Building Your First Blender Add-on with Python
Learn to build your first Blender add-on with Python from scratch. Part 1 of a 10-post series where we build a real Batch Render Manager together.
How to Convert GLSL Shaders to OSL in Blender (With Working Examples)
GLSL and OSL share C-style syntax but differ in execution. This guide shows how to adapt GLSL examples for Blender's OSL renderer, with working shader code.
How to Create a Render Stats Addon using Blender Callbacks
Sometimes, while waiting for a model to render, I think about my next project in Blender. One that...
How to Import Lego Models from Bricklink Studio into Blender
Recently, I watched Lego Batman with my children again. I think the Lego movies are amazing. After I...
5 Easy Steps to a Colorful Blender Smoke Simulation
Create a colorful Blender smoke simulation in 5 steps — covers domain setup, material settings, and color gradient techniques for realistic smoke renders.
Blender Material Override
When working with physics simulations, sometimes you need to adjust the camera movement after baking the simulation. If...
Creating a Custom Compositor Node in Blender Source
Playing with the Blender source code, we want to make a custom compositor node. This included significantly more...
Blender DNA: Unraveling the Internal Structure
Working on adding a new compositor node, I ran into challenges with RNA. In a previous post, I...