Slisesix / Rgba – niesamowita grafika w 4KB


Slisesix / Rgba

Party: Euskal 2008
Kategoria: 4k procedural gfx
Miejsce: 1
Autorzy: iq (codepainting), Mentor & Blueberry (Crinklering)

Swego czasu recenzowałem nową konkurencje „Executable 4k Graphics” (generowana grafika o objętości 4 kilobajtów, wyświetlana poprzez plik exe). Pomysł bardzo się przyjął (i słusznie), toteż nie dziwi że na niedawno zakończonym party Euskal przeprowadzono to compo ponownie. Zaprezentowano tym razem trzy prace – dwie słabizny i jedną powodującą bardzo głęboki opad mojej szczęki której długo po kątach szukać musiałem. Mowa tu o zwycięskiej pracy zatytułowanej Slisesix.

Bez zbędnych przemów zapraszam do kliknięcia na grafice na górze tego wpisu.

Prawda że niesamowita? Naprawdę kawał dobrej matematyki, a przy tym efekt wizualny tak dobry że praca podobałaby mi się równie mocno jako tradycyjna grafika. Już od dawna twierdzę że Iq to kosmita, coraz bardziej mnie o tym przekonuje 🙂 Sama technika jest bardzo złożona, zamiast więc wymyślać oddam głos samemu autorowi:

This is some cpu raymarching on a big 3d scalar field. no rasterization nor primitive intersections are used. There is a big math function that tells the distance to the closest surface at any 3d point in space. You can then evaluate the function to guess how much you can safely advance before eventually hitting any surface and so take the step. I call this „rendering with distance field”, i wonder what is the official techical name for it.

The interesting part is that since you can evaluate the distance to the surface at any point you actually have some non local information about the geometry, without casting any secondary rays. Or in other words you can do non local lighting effects like softshadows or ambient occlusion without the cost of resorting to additional rays. And that’s sweet.

For the rest, shaders are pretty basic. The marble is particularly dull for example. Lighting could be improved but the image renders so slowly even if it’s all multithreaded that adjusting parameters takes ages, so this is what i could manage to get in a reasonable amount of time (note „reasonable” might not mean the same for all of us…)

The image is rendered with (up to 2×2) supersampling (it’s adaptive) in roughtly fourty seconds on a desktop dualcore machine. I have tried too to port the complete thing to both glsl and hlsl and then the rendering reaches around two frames per second in my geforce 8600. The problem is the driver needs twenty seconds to compile the shader. Precompiling the shader is neither a good idea cause the binary shader expands into nine thousand instructions (and i have to time for trying stream reordering) what obviously makes the exe larger than 4k.

Na koniec popatrzmy jeszcze na etapy powstawania Slisesix, bardzo inspirujący materiał.

Ściągnij grafikę
Ściągnij etapy powstawania grafiki
Grafika w serwisie pouet.net

Poprzedni Forgive God
Nastepny Lighthouse

Dodaj komentarz

13 komentarzy do "Slisesix / Rgba – niesamowita grafika w 4KB"

avatar
  Subskrybuj  
najnowszy najstarszy oceniany
Powiadom o
Rev
Czytelnik

To samo, ale z radeonem mobility hd2600. rozdzielczość 1280×800.

Anonimowo
Czytelnik
Anonimowo

No tak bo na 1kb mozna z muzyka animacje wcisnąć

Oto przykład:

grabek
Czytelnik
grabek

nie działa 🙁

Lukasz
Czytelnik
Lukasz

cool

lesniak
Czytelnik
lesniak

Ale pierdoły opowiadasz, to mozesz jescze liczmy ile zajmuje windows? Albo sterowniki karty graficznej?? Takiej glupoty juz dawno nie slyszalem!!!! Najgorsze ze takie komentarze wypisują same trolle które same nic nie umieja poza czepianiem sie. A sama grafika jest genialna, nawet nie mam pomysłu jak to mogłoby powstać, miazga!!!! Pzy takich kolesiach widze że gówno umiem :/

grabek
Czytelnik
grabek

zgodzę się po części z wagą directX. Bo załóżmy, że któregoś dnia, jakiś napalony programista microsoftowy napisze serie efektów, które można bedzie uruchomić pisząc
directX.showAwesomeDemo()
czy wtedy, interko ważące 30 bitów też nazwiemy "OMG jakie niesamowicie wypasione!"

Natomiast nie zgodzę się, bo choć DX daje wiele możliwości, to i tak trzeba dużo samemu nastukać w klawisze i połączyć te rzeczy, dzięki czemu rezultat nie jest obracającym się sześcianem z phongiem czy gourandem, ale sześcianem, który potrafi śpiewać, tańczyć i całować klawiaturę…

grabek
Czytelnik
grabek

no i na koniec:

N I E R O Z U M I E M
tej konkurencji

mój super kombajn z dużym ekranem piłował ze 30 sekund zanim coś się pojawiło… grafika ładna, ale czuję się oszukany.

rozpakowałem, uruchomiłem, pojawił się czarny ekran… czekałem całą wieczność, już nawet salutować zaczynałem (ctrl-alt-delete) a tu nagle mi wyskakuje obrazek… bez animacji, bez muzyki, po prostu obrazek…

dziwna konkurencja, bardzo bardzo dziwna…

pseudo-troll
Czytelnik
pseudo-troll

Rzecz polega na tym, że ten "obrazek" jest obliczany w czasie rzeczywistym przez działania matematyczne określające odległości między punktami w renderowanej przestrzeni, cieniowanie, kolory itd.
Mój E7200 z radkiem X1600 potrzebował 15 sekund na wyświetlenie wersji 1024… 😉

grabek
Czytelnik
grabek

no mechanikę to rozumiem, Tylko nie wiem co tu pokazujemy…

Czy chwalimy się (tzn. koderzy) zdolnością pre-generowania niby-random-grafiki, czy silnikiem który umiejętnie i ładnie przerabia elementy z 3ds..