Blender
Blenderの前身であるTracesは、オランダのCGスタジオ、NEOGEO社の共同創設者の一人であるトン・ローセンダール (Ton Roosendaal) によって、AmigaOS向けのレイトレーシングレンダラーとして開発され、後にSGI IRIXへと移植された。その後、Tracesのソースコードは書き直されて、Blenderとなった。
1998年、トン・ローセンダールはインハウス・ツールとして使用されてきたBlenderの開発・外販を行う為にNot a Number Technologies (NaN)社を設立した。Windows版も用意され、ラジオシティ機能などを実装した有料版と無料版の二種を展開した。
2001年、NaN社は、Web3Dに向けて、Blender Webプラグインのベータ版をリリースしたが、セキュリティの問題から頓挫した。2002年、インターネット・バブルの崩壊と共にNaN社は倒産し、Blenderのソースコードは債権者の手に渡ってしまう。しかし開発途上にあったBlenderを手放すことができなかったトン・ローセンダールはBlender Foundationを設立するため、"ソースコード解放"を合言葉に大々的な募金キャンペーンを行い半年で10万ユーロを世界中から集結させ、ソースコードを再びその手に取り戻した。
リアルタイムレンダラーのEEVEEやインタラクティブレンダリング可能なパストレースレンダラーのCyclesが搭載されており高速なルックデブが可能となっている。
シェーダーでは各種物理ベースシェーダーのほか、ノードベースでのシェーダー作成や、Open Shading Languageによるテキストベースのシェーダー作成も可能となっている。
Blenderには独立したPython環境が搭載されており、Python言語を使用して独自のスクリプトや拡張アドオンを作成することが可能となっている。
BlenderのPython環境には標準で数学モジュールのNumPy/mathutils/bl_mathや、低レイヤーグラフィクスモジュールのgpu/gpu_extras(及び非推奨のbgl)、アプリケーションモジュールのbpyなどが搭載されている。それ以外の拡張モジュールを使うためにはpipなどを使って外部パッケージをBlenderのPython環境にインストールする必要がある。
BlenderのPython APIではアプリケーション情報にbpy.app経由でアクセスする。
開いているファイルの全データにはbpy.data経由でアクセスし、操作中のデータにはbpy.context経由でアクセスする。データの変更はbpy.msgbusで受け取ることが可能。
オペレータの実行はbpy.ops経由で行う。
オペレータは自前で追加することも可能である。
2.7xまではゲームエンジン機能を内蔵しており、ロジックノードやPythonスクリプトを利用することでインタラクティブなコンテンツを制作することが可能であった。またゲームエンジンを動かしてその動きをキーフレームへと焼き付けることも可能であった(Record Animation機能)。
2.8ではゲームエンジン機能が一旦削除されたものの、外部プロジェクトとして旧来のゲームエンジンを維持した派生版のUPBGEが開発され続けている。UPBGEではEEVEEレンダラーなどの新しいBlenderの機能を使うことが可能となっている。
また、本家でも今後インタラクティブモードが再度追加される予定となっている。
2004年の2.33より、物理ライブラリのライセンス問題でオープンソース化後に取り外されていたゲームエンジンが再統合された。2.8ではゲームエンジン機能が一旦削除され、その機能は外部プロジェクトのUPBGEが維持することとなった(#ゲームエンジン (UPBGE) 参照)。
2.83以降にはVR表示に対応するVR Scene Inspectionアドオンが搭載されている。この機能にはOpenXR対応のヘッドマウントディスプレイ (HMD) デバイス (OpenXR#対応ハードウェア参照) が必要となる。
3.0以降は入力デバイスによるナビゲーションにも対応したものの、2021年12月現在、オブジェクト操作にはxr-controller-supportブランチが必要となる。