Pokazywanie postów oznaczonych etykietą blender. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą blender. Pokaż wszystkie posty

czwartek, 29 października 2009

Około roku 90 MHz n.e.

Z racji, że ostatnio znów trochę renderuję animacji w Blenderze, nasunęło mi się spostrzeżenie z nie tak znów dalekiej przeszłości branży komputerowej.

W zamierzchłych czasach, czyli mniej więcej wtedy gdy na moim biurku królował Intel Pentium 90 MHz (z bugiem, czy bez - do dzisiaj nie wiem), zajmowaliśmy się z Adamem smarowaniem prymitywnych animacji w 3D. Młodociana ambicja i pewność siebie, stłamszone w kolejnych latach edukacji, nakłaniała nas do teoretycznych obliczeń jaką moc obliczeniową potrzebowalibyśmy w celu wykonania wspaniałych filmów pełnometrażowych w rozsądnym czasie. Nie wiem czemu, ale zapamiętałem minimalny wynik płynący z tych wyliczeń - jakkolwiek były one wyliczone (sponsorem obliczeń były na pewno liczby: 24 1/s i 3600 s/h). Była to 30 krotność posiadanego wówczas sprzętu.

Policzmy: 30 x 90 MHz = 2.7 GHz. Wynik nie oszołamia, tyle mają współczesne procesory - powiem więcej są znacznie szybsze, dzięki ciągłym udoskonaleniom architektury (wyższy IPC i inne duperele)! Na dodatek zwiększono nieco liczbę rdzeni w procesorze - co akurat w przypadku renderingu jest możliwe do wykorzystania. Operacje wejścia-wyjścia również nieco przyśpieszyły, więc nie powinny stanowić wąskiego gardła. Bierzemy dostępny przykładowy komputer, cztery rdzenie tykające sobie w rytmie 3*109 1/s, uruchamiamy Blender-a, wciskamy do renderingu nowy rysunek Adama i... Co jest!, ponad 3 minuty na klatkę?!. (Uwaga: tak wiem 3 minuty to niewiele, ale z pewnych przyczyn dla mnie za dużo). Ok redukujemy jakość, i tak już oszczędną, z trudem osiągamy czas rzędu minuty - świetnie, całkowicie akceptowalny wynik. Po poprawkach animacja trafia na "farmę" paru maszyn gdzie jest mielona.

BTW: używam oprogramowania farmerjoe, które mogło by działać nieco "pewniej", ale i tak jest nieźle, poza tym uruchamia się bez zbędnej konfiguracji na kolejnych nod-ach render-farmy.

W czym rzecz, że wielokrotne zwiększenie mocy obliczeniowej, nie pozwala wciąż na swobodne tworzenie pełnometrażowej animacji? Jak zwykle czegoś musiałem nie przewidzieć:
  • Adam i ja nieco się rozpędziliśmy i tworzymy obiekty mniej low poly, choć Adam dalej jest ich fanem,
  • w latach 90-tych nie istniała choroba zwana Full HD (rozdzielczość VGA powinna każdemu wystarczyć;)),
  • zwykły ray tracing bez dodatkowych bajerów, każdemu kiedyś wystarczał,
  • i pewnie coś jeszcze.
Wszystkie powyższe techniki spowalniania renderingu, oczywiście dające w efekcie lepszy obraz, musimy użyć, aby za bardzo nie odstawiać jakością obrazu od współczesnych gier!

Stawiam sobie pytanie, kiedy człowiek będzie miał do dyspozycji narzędzie, które pozwoli mu realizować w pojedynkę produkcje konkurujące z Pixar czy DreamWorks? Być może już ma, tylko na razie najwyżej może rywalizować z Toy Story, a nie nowszymi produkcjami. Być może musi poczekać na silniki renderujące w czasie rzeczywistym (komercyjne już są) wykorzystujące własności współczesnych procesorów grafiki. Być może potrzebny będzie jakiś nowy sprzęt i wtedy kiedy już będzie dostępny za jedyne 1000 $, a wtedy... wtedy "standardem" będzie rendering animacji przy użyciu rendererów "fizycznych" (unbiased) - wolniejsze o rząd wielkości, ale jaki efekt przy małym nakładzie wysiłku grafika.

Edycja grafiki 2D osiągnęła już, wymagany poziom swobody tworzenia - rendering obrazu jest realizowany prawie w czasie rzeczywistym. Zatem może nie będzie tak źle.

Edit: czegoś tu brakuje, może obrazka?:

Miał być czajnik z Utah, ale Suzanne jest ładniejsza (autor: Soylentgreen, Wikipedia, licencja: GFDL)

piątek, 23 października 2009

Mikser czeka

Miksujemy [prawie] wszyscy i [prawie] wszystko - niektórzy tylko słowa ze sobą, nie wiedzieć czemu nazywają to później zdaniami, inni sałatkę, jeszcze inni miksują coś przy ustawach. Tym ostatnim chwilowo odpuszczam, bo nie mam siły się denerwować czymś na co nie mam wielkiego wpływu - do czasu - tylko pytanie retoryczne czy oni mi/nam odpuszczą;).

Natomiast skromna moja osoba (marcin, nth4, antylama) i mój, jeszcze skromniejszy, brat (adam, seal), miksujemy czasem coś w Blenderze. Blender to całkiem sprytne oprogramowanie do tworzenia grafiki komputerowej (ang. CG). Należy do tego grona oprogramowania, którego nauka trwa wiecznie i ciągle nie można zrozumieć, poznać, czy wreszcie potrafić wykorzystać, choćby ćwiartki jego możliwości. To oczywiście nie oznacza, że software jest do D., w tym przypadku wręcz przeciwnie jest genialny.

Genialność polega na:
  1. robi to co ma robić, nie robi np. kawy, nie wysyła maili do znajomych (ktoś kiedyś napisał, że rozwój oprogramowania, kończy się wraz z dodaniem funkcji klienta pocztowego - z wyłączeniem klientów pocztowych? - coś w tym jest na razie, nie słyszałem o pluginie do blenderka rozsyłającego pocztę więc puki co śpię spokojnie),
  2. to co robi zwykle robi bardzo szybko,
  3. działa (to bardzo ważna funkcja!),
  4. ma małe wymagania sprzętowe jak na tego typu software (ale im szybszy PC tym lepiej),
  5. ma własny nietypowy interfejs - Blender like! - to podobnie jak punkt 3. (funkcja działania) bardzo ważna cecha, kiedyś wyjaśnię czemu,
  6. system pluginów oparty o Python-a,
  7. kiedyś bardzo, teraz tylko szybko, "się odpala" - czyli uruchamia,
  8. nie działa (p. punkt 3.) na wynalazkach typu grafiki Intel-a, VIA etc.;), nie czepiajmy się jednak, jakości sterowników - ściślej obsługi OpenGL-a,
  9. działa pod GNU/Linux, MS Windows,
  10. jest na koszernej wolnej licencji GPL i nie kosztuje użyszkodnika wiele (no w przybliżeniu 0.05 $), twórców kosztuje wiele pracy - great thx!
Wady i wado-zalety, tak software bez wad nie istnieje:
  1. Sam nie rysuje jak mu krzyczę, że powinien,
  2. Nie ma, jeszcze wszystkich niepotrzebnych bajerów z komercyjnego świata (3dsmax, maya, i cała reszta od Autodesk), ale mieć będzie,
  3. Największa wada - nie jest CAD-em:( (technika, modelowanie bryłowe, wymiarowanie, schematy etc.), i troszkę trudno się go zmusza do bycia tym czym nie jest - ale trochę się da,
  4. Jest wersja pod Apple Mac OS X - czyli dla burżujów - tak boli mnie, bo mnie nie stać;).

Orzeł na dole strony to jakiś starodawny popis moich, strasznie słabych, możliwości w modelowaniu 3D. Przypomina mi - sęp jeden, że mam do wykonania animację, obiektu nasmarowanego przez Adama (jakieś półtora biliona wielokątów;-)).

Więcej o blenderze później, na razie odsyłam do Google, http://www.blender.pl, http://blender3d.pl, gdzie mądrzy ludzie prawią o Blender 3D.

Aktualizacja:
Odnalazłem źródła orła, tak tego (tak dla pamięci, bo chyba zdejmę go ze stopki blog-a):

okazuje się, że to twór wymodelowany w doskonałym Wings 3D, również świetny software, mniej uniwersalny od Blender-a - Wings jest wg. autorów tzw.: subdivision modeler-em - modelowanie stosunkowo prostej bryłki z aproksymacją do ładniejszej wygładzonej bryły. Algorytm dodaje rekurencyjnie trochę nowych poligonów ("detali";)) w efekcie dostajemy ładniejszy kształt.
Kompletnie zapomniałem, że orzeł w Wings-ach powstał - w sumie logicznie rozumując, było to do przewidzenia (wings of eagle). Rendering chyba jednak w Blenderze, który zresztą dorobił się na tyle zaawansowanych narzędzi do edycji siatki, że prawie zdążyłem zapomnieć o Wings 3D - a tu proszę zarówno wersja deweloperska (1.1.16) jak i stabilna z numerkami powyżej 1.0 - co w świecie Wolnego Oprogramowania nie często się zdarza.