What is Blender? From an in-house tool to an open 3D creation platform
The first time someone opens Blender, the dense interface can be intimidating. It does not represent a single feature. It contains an entire 3D production pipeline: create models, materials, animation, and lighting in one scene, then render a film or send the result to a website or game for real-time display.
Who made it? An internal tool at NeoGeo
Blender began with Dutch developer Ton Roosendaal. While working at animation studio NeoGeo, he built a proprietary 3D tool for the team. The earliest Blender source files are dated January 2, 1994. It was not originally a public product; it was software used inside a working animation studio.
The company behind Blender later closed, leaving the software's future uncertain. In 2002, the Blender Foundation launched the Free Blender campaign. The community raised €100,000 in seven weeks, allowing the source code to be released under the GNU GPL. This history matters: Blender was not a free tier released by a large company. Its users helped rescue the tool itself.
What can Blender do?
Modeling is the easiest place to begin. A cube can become furniture, architecture, or a character, while sculpting works more like shaping clay for detailed surfaces. UVs, materials, and textures then define wood, metal, skin, or glass.
Characters need rigs and animation. Cloth, smoke, fluids, and destruction can be simulated. Cycles and Eevee render images, the Compositor combines them, the Video Sequencer edits footage, and Grease Pencil brings 2D lines into 3D space. Geometry Nodes and the Python API turn repeated work into reusable rules or code.

What has actually been made with Blender?
The Blender Foundation has long used Open Movies to test the application. Elephants Dream, Big Buck Bunny, Sintel, and Spring made their production process and assets available to the community. The films are demonstrations, but they also create real requirements for characters, hair, rendering, and asset management.
Blender has moved well beyond open-source showcase films. The Blender Foundation's 2022 annual report notes that the Spanish animated feature Unicorn Wars was made entirely in Blender and that a large share of the visual effects for the Indian film RRR used it. Independent creators, small studios, and large productions can all place Blender at different points in a pipeline.
What is it not?
Blender is not an asset library that opens onto a complete world. It is more like an empty studio. It is also not primarily the runtime that publishes a site or game. Blender can make previews and films, but Three.js, Unity, Unreal, or another runtime usually delivers interactive work to an audience.
That explains why Blender and Three.js often appear together. Blender authors the content; Three.js displays and controls it in the browser. glTF is the common handoff format. When scenes, meshes, materials, textures, and animation are packaged into one binary file, the result uses the .glb extension.
From Blender to the web: a reproducible asset pipeline
The 3D Studio on this site is not exported one object at a time by hand. Python defines scene generation, naming, materials, and GLB export. When the design changes, rerunning the script produces a new asset with the same structure. The site keeps loading one stable path instead of tracking a long list of manual exports.
This approach works well for product variations, city data, batches of thumbnails, and CI. Blender can run without opening a window, load a .blend file, execute Python, and export a GLB or preview render. Headless Blender is not a different edition. It moves a workflow that normally uses the mouse into the command line.
See the Blender asset running inside the Three.js sceneA headless Blender-to-GLB starter
Prepare source.blend and export_glb.py, then run Blender in background mode. Values after the double dash are left for the Python script instead of being interpreted by Blender itself.
blender --background source.blend --python export_glb.py -- build/scene.glbimport bpy
import sys
from pathlib import Path
args = sys.argv[sys.argv.index('--') + 1:]
output = Path(args[0]).resolve()
output.parent.mkdir(parents=True, exist_ok=True)
bpy.ops.object.select_all(action='SELECT')
bpy.ops.export_scene.gltf(
filepath=str(output),
export_format='GLB',
use_selection=True,
export_apply=True,
export_cameras=False,
export_lights=False,
)
print(f'GLB={output}')
print(f'BYTES={output.stat().st_size}')Before publishing, check that textures are packaged, materials are compatible with glTF, required animation is included, axes are correct, and the file fits the site's performance budget. The point of headless automation is not saving one click. It makes those rules repeatable and testable every time.
Where should a beginner start?
Do not begin with a complete character. Move, rotate, and scale one cube. Add a simple material and light, then export a GLB and display it in the browser. Once you can complete the path from Blender to Three.js, learning sculpting, rigging, or Geometry Nodes has a clearer purpose.
Blender is large, but nobody needs to learn all of it at once. Choose one output you want to finish. Following that path is more likely to produce a useful result than studying every item in the interface.
Previous: What is Three.js, from browser 3D to scroll-driven essays?