Cycles X

Równo dziesięć lat temu w Blenderze zawitał Cycles – nowy realistyczny silnik renderujący, który odpowiada za rysowanie modeli i sceny razem z realistycznym oświetleniem i odbiciami.

Cycles przez lata doczekał się nowych funkcji i usprawnień, ale można mieć wrażenie, że jego rozwój spowolnił w porównaniu z innymi blenderowymi projektami. Zwłaszcza z rzeźbieniem, Grease Pencilem (narzędziami do rysowania i animacji 2D) czy Eevee (mniej realistycznym silnikiem, ale dużo szybszym).

To wydawało się o tyle dziwne, że odkąd Fundacja Blendera pozyskuje fundusze od takich gigantów jak Nvidia, Intel, Ubisoft, Google, Facebook czy Microsoft, wydzieliła kilku programistów, którzy zajmują się tylko rozwojem Cyclesa. Od tego czasu dostaliśmy wsparcie dla rdzeni RT w kartach graficznych Nvidii oraz nowe odszumianie, które drastycznie przyspieszyły renderowanie (rysowanie) obrazów. Do tego trochę usprawnień, ale wydawało się, że rozwój Cyclesa stoi w miejscu.

I dziś z okazji 10-lecia tego silnika, dowiedzieliśmy się, nad czym ekipa pracowała po cichu przez cały czas. Kod Cyclesa jest w trakcie przepisywania na nowo. Celem jest dostosowanie go do współczesnych kart graficznych i procesorów oraz napisanie kodu, który jest łatwiejszy w rozwijaniu.

Artyści odczują to przede wszystkim w szybkości działania. Wszelkie obrazy i animacje będą renderowane znacznie szybciej. Również na podglądzie w wievporcie, co znacznie uprzyjemni pracę z programem i ułatwi ustawianie oświetlenia sceny.

Poniżej znajdują się wykresy porównujące szybkość obecnego Cyclesa (po prawej) w viewporcie.

Mało tego, wreszcie będzie można pauzować i wznawiać renderowanie. Normalni ludzie tego nie muszą wiedzieć, ale realistyczna symulacja światła jest strasznie czasochłonna. Nawet na najmocniejszym sprzęcie wyrenderowanie wysokiej jakości obrazu, który wygląda jak rzeczywisty, może zająć kilka/kilkanaście godzin. Rzeczy takie jak mgła, dym, włosy, obiekty przepuszczające światło, strasznie obciążają sprzęt. W takiej sytuacji przerwanie i wznowienie przeliczania sceny bywa zbawieniem.

Na tę chwilę duża część nowego Cyclesa została zakodowana na nowo i można go porównać z obecną wersją. W testach znacznie przyspieszył i w zależności od sceny i sprzętu jest szybszy o 20%, 50%, 100% a niekiedy nawet o 600%. Jeżeli takie wyniki uda się utrzymać w finalnej wersji, to będzie prawdziwa rewolucja.




Sceny użyte do przetestowania silnika Cycles X.
Sceny użyte do porównania obecnej wersji Cyclesa z nadchodzącą. [Obrazki i wykresy pochodzą ze strony code.blender.org]
Cycles X nie jest jeszcze gotowy. Teraz np. nie potrafi przeliczać wolumetryki, czyli mgły i dymu. Programiści twierdzą, że dokończenie nowego silnika zajmie jeszcze co najmniej pół roku. Wsparcie dla OpenCL używanego na kartach graficznych od AMD i Intela zostanie dodane później (ale na procesorach będzie działać).

Żródła:

Blender Developers Blog
Cycles X Technical Presentation