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

0 0 głos
Ocena artykułu
Previous Forgive God
Next Lighthouse
Subscribe
Powiadom o
guest
11 komentarzy
Most Voted
Newest Oldest
Inline Feedbacks
View all comments
Rev
Rev
14 lat temu

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

Anonimowo
Anonimowo
14 lat temu

No tak bo na 1kb mozna z muzyka animacje wcisnąć
Oto przykład:

Lukasz
Lukasz
Reply to  Anonimowo
14 lat temu

cool

grabek
Reply to  Anonimowo
14 lat temu

nie działa 🙁

lesniak
lesniak
14 lat temu

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
Reply to  lesniak
14 lat temu

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
14 lat temu

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
pseudo-troll
Reply to  grabek
14 lat temu

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
Reply to  pseudo-troll
14 lat temu

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..

Biter
Reply to  grabek
14 lat temu

Nie rozumiesz istoty tej konkurencji 🙂 Co do technologi to nie ma mowy o jakimkolwiek przenoszeniu wektorów z softu 3d – to czysta i piękna matematyka na poziomie dużo ponad przeciętnym (delikatnie to ujmując), poczytaj zresztą opis w artykule, nie będziesz musiał zadawać takich pytań ;P

Biter
14 lat temu

Dokładnie tak, antywirus nie może się połapać i głupieje (tak się zresztą często zdarza przy demoscenowych produkcjach). Osobiście także używam Aviry (codziennie aktualizowanej) i żadnych problemów nie zauważyłem.