# Blender (programma)

Blender è un software libero e multipiattaforma di modellazione, rigging, animazione, montaggio video, composizione, rendering e texturing di immagini tridimensionali e bidimensionali. Dispone inoltre di funzionalità per mappature UV, simulazioni di fluidi, di rivestimenti, di particelle, altre simulazioni non lineari e creazione di applicazioni/giochi 3D.
Blender è dotato di un robusto insieme di funzionalità paragonabili, per caratteristiche e complessità, ad altri noti programmi per la modellazione 3D come Softimage XSI, Cinema 4D, 3D Studio Max, LightWave 3D e Maya.
Tra le funzionalità di Blender vi è anche l'utilizzo di raytracing e di script (in Python).

## Storia

In origine, il programma è stato sviluppato come applicazione interna dallo studio di animazione olandese NeoGeo (non associato al marchio hardware per videogiochi Neo Geo). L'autore principale, Ton Roosendaal, fondò la società Not a Number Technologies (NaN) nel 1998 per continuare lo sviluppo e distribuire il programma che inizialmente fu distribuito come software proprietario a costo zero (freeware) fino alla bancarotta di NaN nel 2002. I creditori acconsentirono a pubblicare Blender come software libero, sotto i termini della licenza GNU General Public License, dietro il pagamento una-tantum di € 100.000,00. Il 18 giugno 2002 fu iniziata da Roosendaal una campagna di raccolta fondi e il 7 settembre 2002 fu annunciato che l'obiettivo era stato raggiunto e il codice sorgente di Blender fu pubblicato in ottobre. Oggi Blender è un progetto open source molto attivo ed è guidato dalla Blender Foundation.
Il 3 maggio 2020 Blender Foundation ha rilasciato la versione 2.83, la prima LTS (long term release) dopo il rilascio di Blender 2.80.

## Caratteristiche

Blender richiede poco spazio per essere installato e può essere eseguito su molte piattaforme, ma su tutte ha la stessa identica interfaccia, disegnata tramite OpenGL. Sebbene sia spesso distribuito senza esempi e materiali (comunque reperibili su moltissimi siti web) il software è ricco di caratteristiche tipiche di sistemi avanzati di modellazione. Tra le sue potenzialità, possiamo ricordare:
* Supporto per una grande varietà di primitive geometriche, incluse le mesh poligonali, le curve di Bézier, le NURBS, le metaball e i font vettoriali.
* Conversione da e verso numerosi formati per applicazione 3D, come Wings 3D, 3D Studio Max, LightWave 3D e altri.
* Strumenti per gestire le animazioni, come la cinematica inversa, le armature (scheletri) e la deformazione lattice, la gestione dei fotogrammi chiave, le animazioni non lineari, i vincoli, il calcolo pesato dei vertici e la capacità delle mesh di gestione delle particelle.
* Gestione dell'editing video non lineare.
* Caratteristiche interattive attraverso il Blender Game Engine, come la collisione degli ostacoli, il motore dinamico e la programmazione della logica, permettendo la creazione di programmi stand-alone o applicazioni real-time come la visione di elementi architettonici o la creazione di videogiochi.
* Motore di rendering interno versatile ed integrazione nativa col motore esterno YafaRay (un raytracer open source).
* Motore di rendering unbiased Cycles disponibile internamente a partire da Blender 2.61.
* Scripting in python per automatizzare e/o controllare numerosi aspetti del programma e della scena.
* Tracciamento della telecamera e degli oggetti.
* Controllo in tempo reale in tempo reale durante la simulazione fisica e il rendering.
* Texturing procedurale e basato su nodi, oltre alla possibilità di disegnare texture direttamente sul modello.
* Grease Pencil: uno strumento per l'animazione 2D in una pipeline 3D completa.
* Compositing video, lavoro con chromakey.
* Offre fino a 32 tracce per aggiungere clip, immagini, audio, scene, maschere ed effetti.
* Blender utilizza un proprio formato di file, denominato ".blend", difficilmente accessibile da altri programmi. È multipiattaforma e compatibile con le versioni precedenti. Gli script di importazione ed esportazione sono integrati per diversi formati, ad esempio B. per i file OBJ e FBX, oltre alla possibilità di estenderli con plugin.
* Blender può essere esteso con le cosiddette sovrastrutture, molte delle quali non provengono da Blender stesso.

### Interfaccia utente

Blender ha fama di essere un programma difficile da imparare. Quasi tutte le funzioni possono essere richiamate con scorciatoie da tastiera e per questo motivo quasi tutti i tasti sono collegati a numerose funzioni. Da quando è stato pubblicato come opensource, la GUI è stata notevolmente modificata, introducendo la possibilità di modificare il colore, l'uso di widget trasparenti, una nuova e potenziata visualizzazione e gestione dell'albero degli oggetti e altre piccole migliorie (scelta diretta dei colori, ecc.).
L'interfaccia di Blender ha alcune caratteristiche specifiche:
* Due principali modalità di gestione degli oggetti: esse sono la Modalità oggetto (object mode) e la Modalità modifica (edit mode), ed è possibile passare dall'una all'altra per mezzo del tasto tab. La modalità oggetto può essere usata per manipolare oggetti singoli, mentre la modalità modifica è usata per modificare i dati di un oggetto. Per esempio, in una mesh poligonale, la modalità oggetto può essere usata per muovere, scalare e ruotare l'intera mesh, mentre la modalità modifica è usata per modificare i vertici individuali della mesh. Ci sono anche altre modalità, come la pittura vertici, la modalità scultura o la pittura pesi per usi specifici.
* Uso del tasto destro del mouse per selezionare gli oggetti, contrariamente a quanto avviene di solito nei programmi cad/3D.
* Scorciatoie da tastiera: la maggior parte dei comandi è impartibile attraverso la tastiera. Fino alla versione 2.x e specialmente nella versione 2.3x, questo era il solo modo per impartire comandi, e questo è stato il principale motivo che ha dato a Blender la reputazione di essere un programma difficile da imparare e capire. Le nuove versioni hanno menu molto più completi, che permettono di usare in larga misura il mouse per impartire i comandi.
* Spazio di lavoro completamente ad oggetti: l'interfaccia di Blender è formata da uno o più riquadri (editor), ognuno dei quali può essere diviso in sezioni e sottosezioni (regioni, aree e pannelli), che possono essere formati da una qualunque immagine o vista di Blender. Ogni elemento grafico delle viste di Blender può essere controllato nello stesso modo in cui si controlla la finestra 3D - si possono ad esempio ingrandire i pulsanti della barra dei menù nello stesso modo in cui si ingrandisce un'immagine nella finestra di anteprima. La disposizione delle componenti dell'interfaccia di Blender è modificabile dall'utente, che può così lavorare a compiti specifici su un'interfaccia personalizzata e nascondere le caratteristiche non necessarie, o anche suddividere diverse funzioni e comandi su schermi diversi.Immagine creata con Blender.
A partire dallo sviluppo delle versioni 2.5x, è stata introdotta una nuova interfaccia, oltre al cambiamento di alcune combinazioni di tasti, rendendo il tutto più intuitivo per chi è alle prime armi con il programma. Con la versione 2.8, rilasciata il 30 luglio 2019, l'interfaccia ha subito ulteriori modifiche sostanziali.

## Caratteristiche comparate con altri programmi 3D

Da quando è stato pubblicato il sorgente, Blender è stato notevolmente migliorato e il codice di base ha subito numerose modifiche, soprattutto per poter inserire nuove funzionalità con maggiore facilità. Sebbene Blender (fino alla versione 2.36) abbia sempre cercato di raggiungere i software 3D proprietari e adesso permetta di realizzare praticamente ogni cosa possibile in 3D, differisce ancora da programmi come Autodesk Maya, Softimage XSI o Maxon Cinema 4D. Manca ancora un sistema NLA (Non Linear Animation) più ricco e flessibile, la possibilità di unire armature (può solo essere emulato con un uso esteso dei vincoli), un'esportazione in formato non binario, un sistema migliorato per gestire le misurazioni e, soprattutto a causa dello sviluppo rapido di Blender, una documentazione coerente e aggiornata.
Il primo grande progetto professionale nel quale Blender è stato usato come strumento primario è stato la previsualizzazione dell'animatic del film Spiderman 2:
(Anthony Zierhut, Animatic Artist, Los Angeles)

## Disponibilità

Rispondendo alla sua natura open source, il codice sorgente di Blender è disponibile dal sito ufficiale. Blender supporta ufficialmente numerosi sistemi operativi, incluso GNU/Linux, FreeBSD, Microsoft Windows (versione 8.1, 10 e 11) e macOS (versione 10.13 e 11.0); esistono inoltre porting non ufficiali per altri sistemi operativi come BeOS, SkyOS, AmigaOS, MorphOS e Pocket PC. Sia i binari che le versioni portable sono disponibili sul sito ufficiale.