Fundacja Blender zapowiedziała przedwczoraj, że Pixar na konferencji SIGGRAPH 2013 wyda swoją bibliotekę OpenSubdiv 2.0 na licencji zgodnej z licencją Blendera. Jest to zestaw otwartoźródłowych bibliotek, które implementują bardzo wydajny Surface Subdivision (subdiv), wykonywany masowo współbieżnie przez jednostki CPU oraz GPU. Jest on zoptymalizowany dla dynamicznych siatek o stałych topologiach przy zmiennej ilości klatek.
Czym różni się OpenSubdiv od obecnego Blenderowego subdiva? Ton Roosendaal wyjaśnia:
OpenSubdiv to otwartoźródłowy projekt Pixara obchodzący się jednocześnie z generowaniem i rysowaniem podzielonych powierzchni (Subdivision Surface). Blender obecnie wykonuje to jednowątkowo i musi wygenerować całą powierzchnię zanim zacznie rysować.
OpenSubdiv natomiast:
- pozwala na użycie wielowątkowości, wliczając w to GPU
- tworzy i rysuje wygładzoną powierzchnię „w locie”, nie musi jej generować/trzymać w pamięci
- doskonale wspiera „crease” [„twardsze krawędzie”]
- posiada adaptatywny („screen space”) podział powierzchni
- wspiera natywnie PTex (mapowanie nie-UV)
W Cycles OpenSubdiv zastąpi niekompletna implementację Subdivision Surface, aby pozwolić budować BVH [drzewo obiektów używane do rysowania] szybciej mniejszym kosztem pamięci jak również wesprze renderowanie Ptex.
Integracja będzie wymagała wiele pracy wewnątrz Blendera, więc zajmie to sporo czasu nim będzie oficjalne wydanie ze wsparciem OpenSubdiv. Zwłaszcza wsparcie dla multires i rzeźbienia będzie skomplikowane. Praca ta musi być starannie zaplanowana.
Niemniej jednak, Brecht [developer Blendera] pracuje już nad tym i zamierza zaprezentować pierwsze demo Cycles-OpenSubdiv na Siggraph w przyszłym tygodniu!
Odnośnie licencji: licencja Apache OpenSubviv jest kompatybilna jedynie z GPL V3. Blender jest na licencji „GPL V2 lub nowszej”, więc nie powinno być problemów. Jednak musimy sprawdzić każdą bibliotekę której używamy, niektóre z nich są nadal tylko GPL V2 (jak Carve booleans)
W praktyce zarówno przyspieszy to renderowanie scen oraz zmniejszy zapotrzebowanie na pamięć, co jest nieocenione podczas renderowania animacji.
Michał Olber liked this on Facebook.