Ĺadny brzuch
Witam,
Zastanawiam się jak to możliwe, że kilkuminutowe demka potrafią zajmować mniej niż np. 64KB (chbya jest taka kategoria)
Na jakiej zasadzie powstaja takie demka... w czym tworzona jest grafika? czy to sa modele zrobione w np. 3Dmaxie? Jakie chwyty się stosuje?
te prezentacje wygladaja jak filmiki... ale one sa w calosci napisane kodowo tak? jezeli nie , to poprawcie mnie jak sie je tworzy?
pozdrawiam i mam nadzieję, że ktoś obeznany się wypowie;)
Użytkownik Ka-lolek edytował ten post 19 kwiecień 2007, 20:36
Po pierwsze grafika - tekstury tworzone są w czasie ładowania, na podstawie zapisanych skryptów, czyli np. w skrypcie jest napisane: weź taki i taki pędzel, i zrób linie z A do B. W związku z tym odpada dużo kB bitmap.
Po drugie: w czym? - albo ręcznie, albo w wielu przypadkach w specjalnym programie (grrr! zapomniałem jak on się nazywał, jakiś demo-maker??? demoautomation???).
//ed: Chcesz sam sobie zrobić demo? to masz w czym
Użytkownik Radek edytował ten post 20 kwiecień 2007, 21:01
oczywiscie ze sa tworzone kodem, a nie w zadnym 3d maksie :P po prostu tworcy stosuja algorytm ktory odtwarza tekstury i geometrie na podstawie pewnych wzorow.
ok, a tekstury w czym sa tworzone w takim razie? musza byc wczesniej przygotowane w progamie graficznym prawda?
no i te demka sa trojwymiarowe mozna powiedziec i rozne obiekty wygladaja jakby byly modelami z 3dmaksa;)... kamerka lata sobie normalnie i pewnie uzywany jest OpenGL ? nie wiem czy w GDI mozna cos takiego zrobic (malo sie interesowalem grafika i nie jestem obeznany)
a co do tych algorytmow to jak to sie robi? co to znaczy "odtwarza tekstury i geometrie na podstawie pewnych wzorcow"?:)
sry za tą nawałnice pytań ale nie bardzo rozumiem na jakiej zasadzie to działa:)
mam nadzieje, ze zrozumiecie
aha, i jeszcze jedno pytanie (z tych "dziwniejszych":P)
jak leci sobie to demko to ma taki charakter filmowy bardziej...
czyli w kodzie to rowniez wyglada tak, ze jak najpierw jest jakis wybuch pozniej z ziemi wylania sie budynek to jest najpierw kod, ktory zrobi ten wybuch, pozniej odpowiadajacy za powstanie budynku i tak to sobie leci?
w ten sposob to jest rozwiazane czy sa jakies gotowe animacje petle cos...
Użytkownik Ka-lolek edytował ten post 19 kwiecień 2007, 23:22
ponawiam pytanie... czy nie ma tutaj nikogo ze sceny lub innych obeznanych w temacie, ktorzy umieliby i chcieli pomoc?:)
pozdrawiam
ponawiam pytanie... czy nie ma tutaj nikogo ze sceny lub innych obeznanych w temacie, ktorzy umieliby i chcieli pomoc?:)
pozdrawiam
I64 to zdecydowanie kategoria "sportowa" dla programistów. Większość rzeczy jest robiona proceduralnie. Tekstury np: piszesz algorytmy generujące różne formy (np skałki itp). Obecnie robi się to też poprzez materiały proceduralne (czyli pixel shaderki, które generują materiał bezpośrednio podczas renderowania na karcie graficznej). Modele - bardzo często również proceduralnie. Możesz sobie napisać procki które budują poszczególne prymitywy. Z nich można robić większe konstrukcje. Niektóre rzeczy robi się w programach do modelowania 3D - ale wtedy robi się swoistą kompresję danych (przede wszystkim numeryczną). Jak jest miejsce to i inne metody: np w moim interku (może kiedyś dokończę ;)) mam "full scale" dcsg - mogę niszczyć geometrię w locie. Muzyczka - nie ma bata - jakiś softsynth trzeba napisać, lub użyć np Minimoda.
Co do spraw programowych - to trudna konkurencja (dlatego to konkurencja przede wszystkim programistów). Wymaga doskonałej znajomości kompilatora (jak generuje kod), dokładnej analizy rozmiaru kodu (ja np napisałem sobie małego toola, który mi robi statystyki skompilowanych modułów *.cpp - często mała zmiana w kodzie powoduje zysk kilku/kilkunastu (lub więcej) bajtów na funkcję).
Finalny exek jest kompresowany - najpopularniejszy to chyba UPX (ale są lepiej pakujące).
Co dalej - reszta to standard. Jak chcesz ładne efekty, to musisz je napisać, walcząc równocześnie o każdy bajt kodu :). Generalnie I64 to perełka, która nie powstaje "od tak". Trzeba dużo serca w to włożyć, żeby upchnąć to wszystko co się chce w 64K :). I nie obejdzie się również bez małych "badań naukowych" przy pracach nad takim cackiem :)
no ale musze przyznac robi wrazenie... bardzo dobrej jakosci animacje trwajace kilka minut, zapierajace dech w piersi efekty i to wszystko upchniete w rozmiar przecietnego screenshota:P
a tak wracajac do tych animacji... jezeli w demku jest np. animacja roztrzaskujacych sie literek, czy tez jadacego pociagu, to wszystko jest pisane recznie? zapalane sa odpowiednie piksele?:P to przeciez katorznicza praca...
a tak wracajac do tych animacji... jezeli w demku jest np. animacja roztrzaskujacych sie literek, czy tez jadacego pociagu, to wszystko jest pisane recznie? zapalane sa odpowiednie piksele?:P to przeciez katorznicza praca...
nie znam się na tym specjalnie, ale to chyba wektorami ;]
Użytkownik Grejpfrut14 edytował ten post 20 kwiecień 2007, 21:01
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
Zastanawiam się jak to możliwe, że kilkuminutowe demka potrafią zajmować mniej niż np. 64KB (chbya jest taka kategoria)
Na jakiej zasadzie powstaja takie demka... w czym tworzona jest grafika? czy to sa modele zrobione w np. 3Dmaxie? Jakie chwyty się stosuje?
te prezentacje wygladaja jak filmiki... ale one sa w calosci napisane kodowo tak? jezeli nie , to poprawcie mnie jak sie je tworzy?
pozdrawiam i mam nadzieję, że ktoś obeznany się wypowie;)
Użytkownik Ka-lolek edytował ten post 19 kwiecień 2007, 20:36
Po pierwsze grafika - tekstury tworzone są w czasie ładowania, na podstawie zapisanych skryptów, czyli np. w skrypcie jest napisane: weź taki i taki pędzel, i zrób linie z A do B. W związku z tym odpada dużo kB bitmap.
Po drugie: w czym? - albo ręcznie, albo w wielu przypadkach w specjalnym programie (grrr! zapomniałem jak on się nazywał, jakiś demo-maker??? demoautomation???).
//ed: Chcesz sam sobie zrobić demo? to masz w czym
Użytkownik Radek edytował ten post 20 kwiecień 2007, 21:01
oczywiscie ze sa tworzone kodem, a nie w zadnym 3d maksie :P po prostu tworcy stosuja algorytm ktory odtwarza tekstury i geometrie na podstawie pewnych wzorow.
ok, a tekstury w czym sa tworzone w takim razie? musza byc wczesniej przygotowane w progamie graficznym prawda?
no i te demka sa trojwymiarowe mozna powiedziec i rozne obiekty wygladaja jakby byly modelami z 3dmaksa;)... kamerka lata sobie normalnie i pewnie uzywany jest OpenGL ? nie wiem czy w GDI mozna cos takiego zrobic (malo sie interesowalem grafika i nie jestem obeznany)
a co do tych algorytmow to jak to sie robi? co to znaczy "odtwarza tekstury i geometrie na podstawie pewnych wzorcow"?:)
sry za tą nawałnice pytań ale nie bardzo rozumiem na jakiej zasadzie to działa:)
mam nadzieje, ze zrozumiecie
aha, i jeszcze jedno pytanie (z tych "dziwniejszych":P)
jak leci sobie to demko to ma taki charakter filmowy bardziej...
czyli w kodzie to rowniez wyglada tak, ze jak najpierw jest jakis wybuch pozniej z ziemi wylania sie budynek to jest najpierw kod, ktory zrobi ten wybuch, pozniej odpowiadajacy za powstanie budynku i tak to sobie leci?
w ten sposob to jest rozwiazane czy sa jakies gotowe animacje petle cos...
Użytkownik Ka-lolek edytował ten post 19 kwiecień 2007, 23:22
ponawiam pytanie... czy nie ma tutaj nikogo ze sceny lub innych obeznanych w temacie, ktorzy umieliby i chcieli pomoc?:)
pozdrawiam
ponawiam pytanie... czy nie ma tutaj nikogo ze sceny lub innych obeznanych w temacie, ktorzy umieliby i chcieli pomoc?:)
pozdrawiam
I64 to zdecydowanie kategoria "sportowa" dla programistów. Większość rzeczy jest robiona proceduralnie. Tekstury np: piszesz algorytmy generujące różne formy (np skałki itp). Obecnie robi się to też poprzez materiały proceduralne (czyli pixel shaderki, które generują materiał bezpośrednio podczas renderowania na karcie graficznej). Modele - bardzo często również proceduralnie. Możesz sobie napisać procki które budują poszczególne prymitywy. Z nich można robić większe konstrukcje. Niektóre rzeczy robi się w programach do modelowania 3D - ale wtedy robi się swoistą kompresję danych (przede wszystkim numeryczną). Jak jest miejsce to i inne metody: np w moim interku (może kiedyś dokończę ;)) mam "full scale" dcsg - mogę niszczyć geometrię w locie. Muzyczka - nie ma bata - jakiś softsynth trzeba napisać, lub użyć np Minimoda.
Co do spraw programowych - to trudna konkurencja (dlatego to konkurencja przede wszystkim programistów). Wymaga doskonałej znajomości kompilatora (jak generuje kod), dokładnej analizy rozmiaru kodu (ja np napisałem sobie małego toola, który mi robi statystyki skompilowanych modułów *.cpp - często mała zmiana w kodzie powoduje zysk kilku/kilkunastu (lub więcej) bajtów na funkcję).
Finalny exek jest kompresowany - najpopularniejszy to chyba UPX (ale są lepiej pakujące).
Co dalej - reszta to standard. Jak chcesz ładne efekty, to musisz je napisać, walcząc równocześnie o każdy bajt kodu :). Generalnie I64 to perełka, która nie powstaje "od tak". Trzeba dużo serca w to włożyć, żeby upchnąć to wszystko co się chce w 64K :). I nie obejdzie się również bez małych "badań naukowych" przy pracach nad takim cackiem :)
no ale musze przyznac robi wrazenie... bardzo dobrej jakosci animacje trwajace kilka minut, zapierajace dech w piersi efekty i to wszystko upchniete w rozmiar przecietnego screenshota:P
a tak wracajac do tych animacji... jezeli w demku jest np. animacja roztrzaskujacych sie literek, czy tez jadacego pociagu, to wszystko jest pisane recznie? zapalane sa odpowiednie piksele?:P to przeciez katorznicza praca...
a tak wracajac do tych animacji... jezeli w demku jest np. animacja roztrzaskujacych sie literek, czy tez jadacego pociagu, to wszystko jest pisane recznie? zapalane sa odpowiednie piksele?:P to przeciez katorznicza praca...
nie znam się na tym specjalnie, ale to chyba wektorami ;]
Użytkownik Grejpfrut14 edytował ten post 20 kwiecień 2007, 21:01