Blender (program)

Blender – wolne i otwarte oprogramowanie do modelowania i renderowania obrazów oraz animacji trójwymiarowych o niekonwencjonalnym interfejsie użytkownika. Umożliwia także tworzenie prezentacji interaktywnych (np. gier) na własnym silniku graficznym (istnieje osobny program pozwalający uruchamiać takie prezentacje).

Jego pierwotnym autorem jest przedsiębiorstwo NeoGeo, natomiast od 2002 jest rozwijany przez Blender Foundation. Od samego początku głównym programistą Blendera był Ton Roosendaal. Jest dostępny na różne platformy sprzętowe i programowe, m.in. Microsoft Windows, macOS i GNU/Linuksa, Solaris, IRIX, ZetaOS, MorphOS, AmigaOS 4 i Windows Mobile.

Licencja 
Do 13 października 2002 program był dostępny za darmo do użytku prywatnego, jak też do zastosowań komercyjnych (Blender jest popularnym narzędziem do produkcji reklam telewizyjnych oraz gier komputerowych), opłaty pobierane były za pomoc techniczną. Był też dostępny w sprzedaży kompletny pakiet wraz z obszerną dokumentacją.

Od 13 października 2002 Blender jest programem wolnym rozprowadzanym na licencji GPL. „Uwolnienie” Blendera nastąpiło po odkupieniu przez Blender Foundation, za kwotę 100 000 euro, praw do programu od jego właścicieli (NaN holding). Nastąpiło to po ogłoszeniu upadłości przez przedsiębiorstwo NaN. Potrzebna suma została zgromadzona na drodze publicznej zbiórki w czasie zaledwie siedmiu tygodni.

Możliwości

Interfejs 
 Interfejs użytkownika bez zachodzących na siebie i blokujących się okien.
 Elastyczny i w pełni konfigurowalny układ okien możliwy do zmiany w zależności od potrzeb.
 Wielopoziomowe polecenie "cofnij".
 Wygładzanie czcionek.
 Możliwość tłumaczeń interfejsu programu.
 Typy okien:
 Podstawowe
 3D manipulowania całymi obiektami (z 6-cioma trybami widoku, i dwoma typami odwzorowania przestrzeni)
 3D edycji obiektów
 Informacji o obiektach
 Informacji o cechach obiektów
 Ustawień użytkownika
 Podstawowych funkcji programu
 Dotyczących animacji
 Edytor NLA (nieliniowej animacji)
 Arkusz zdarzeń (Dope sheet)
 Arkusz wykresów zdarzeń
 Oś czasu (timeline)
 Pomocnicze
 Edytor logiczny
 Edytor węzłów
 Edytor pythona
 Edytor tekstowy (do robienia notatek)
 Edytor sekwencji wideo
 Edytor clipów wideo
 Edytor nakładania obrazów

Modelowanie 
 Szeroki zakres obiektów możliwych do utworzenia i późniejszej edycji:
 Siatki
 Powierzchnie NURBS
 Krzywe Béziera
 Obiekty typu meta
 Fonty wektorowe (TrueType, PostScript, OpenType)
 Narzędzie pozwalające na rzeźbienie siatki.
 Podział siatek metodą Catmull-Clarka.
 Funkcje boolowskie dla siatek.
 Edycja siatek oparta na wierzchołkach, krawędziach i wielokątach (poligonach).
 Wiele funkcji do edycji obiektów pozwalających uzyskać praktycznie dowolny kształt.
 Obsługa skryptów Pythona, za pomocą których można dodać nowe narzędzia edycji.
 BMesh- system pozwalający na tworzenie i edycję ścian o bardzo skomplikowanej budowie- np. o kilkunastu krawędziach

Animacja 

 Animacja oparta na szkielecie z wykorzystaniem prostej i odwrotnej kinematyki. Automatyczny skinning, interaktywne rysowanie wag bezpośrednio na obiekcie, ręczna edycja sposobu oddziaływania szkieletu na każdy wierzchołek oraz system "envelopes".
 Mikser animacji nie-liniowej z automatycznym cyklem chodu wzdłuż krzywej.
 System ograniczników animacji.
 Możliwość animacji poszczególnych wierzchołków.
 Edycja za pomocą kratownicy, pozwalająca łatwo animować nawet bardzo skomplikowane pod względem budowy obiekty.
 System krzywych animacji, tzw. "IPO".
 Obsługa tzw. "driven-keys", gdzie zmiana wartości jednego parametru (np. szerokości) powoduje automatyczną zmianę (proporcjonalną bądź nie) wartości innego (np. wysokości).
 Możliwość kontrolowania wartości danych parametrów przy pomocy wyrażeń matematycznych (zapisanych w języku Python).
 Możliwość wykorzystania plików dźwiękowych i ich edycji w celu odpowiedniej synchronizacji.
 Skrypty Pythona dodające nowe możliwości w dziedzinie animacji.
 Synchronizacja z przechwytywaniem ruchu.

Efekty specjalne 
 Dynamika bryły sztywnej.
 Rozbudowany system cząstek (można go wykorzystać do tworzenia np. dymu, ognia, stada ptaków, trawy, włosów itd.).
 System soft-body (symulacja ciał miękkich, np. ruchu mięśni).
 Zaawansowany silnik fizyki umożliwiający tworzenie realistycznych symulacji. 
 Symulacja tkanin, włosów oraz płynów.

Rendering 

 wbudowany raytracing.
 obsługa raytracera YafRay (do wersji 2.48)
 wygładzanie, rozmycie ruchu, możliwość dodania różnych efektów przy pomocy sekwencera wideo
 mapy środowiskowe, efekty „halo”, flary soczewkowe, mgła
 rozmaite shadery
 tzw. system nodes umożliwiający zaawansowane komponowanie materiałów i tekstur oraz uzyskiwanie dodatkowych efektów na renderze
 wielofazowy rendering z obsługą różnej liczby rdzeni procesora
 możliwość bezpośredniego malowania tekstur na modelach (projection painting)
 renderowanie krawędzi dla uzyskania efektu ręcznego rysowania
 tekstury proceduralne
 ambient occlusion
 radiosity – od wersji 2.50 nieobecne
 Skrypty Pythona pozwalające na wykorzystanie innych rendererów niż wbudowany Blender Internal takich jak: Indigo, YafaRay, Luxrender, Sunflow, Renderman, V-ray (projekt we wczesnym stadium)
 wnajnowszej wersji: efekty wolumeryczne.
 motion tracking pozwalający na łączenie filmów wykonanych np. za pomocą kamery z animacjami – efekty zostały wykorzystane w filmie Tears of Steel
 ustawienia kamery (np. kąt obiektywu, zasięg, ostrość itp.) oraz możliwość wybrania ustawień charakterystycznych dla jednego z popularnych modeli kamer
 wsparcie CUDA i OpenMP
 wbudowany renderer cycles

Pliki 
 Zapisywanie wszystkich danych sceny do jednego pliku .blend.
 Format .blend obsługuje:
 Kompresję
 Cyfrowe podpisy
 Kodowanie
 Kompatybilność między różnymi wersjami blendera.
 Może być użyty jako biblioteka [np. materiałów] dla innych plików .blend.
 Obsługa różnorodnych formatów graficznych.
 Oryginalny import/eksport formatów DXF, Inventor, VRML oraz kilkudziesięciu innych formatów plików.
 Skrypty Pythona pozwalające na obsługę dodatkowych formatów
 Możliwość utworzenia plików binarnych zawierających interaktywną zawartość 3D i umieszczenia na stronie internetowej (wymagana wtyczka do przeglądarki).

Blender Game Engine 
Blender zawierał wbudowany silnik do tworzenia gier o nazwie , który został usunięty w wersji 2.8. Pasjonaci jednak kontynuowali prace nad silnikiem dostosowując kod pod najnowsze wersje programu.

Przypisy

Linki zewnętrzne 

 Oficjalna strona Blendera 
 Blender Wiki 
 Poradnik Blender 

Oprogramowanie na licencji GNU GPL
Programy do grafiki 3D
Wolne oprogramowanie napisane w C