Strona 1 z 1
Demo sztuka
: 26 sie 2009, 12:48
autor: wegi
Oglądałem sobie dema Samaru i kiedyś nie zwracałem na to uwagi, ale widzę od kranczu poprzez pasztet i opium dużo jest zsynchronizowane z muzyką - opium to kilka razy obejrzałem i mam pytanie do Prezesa - nakreśl mi ideę obrotów w 3d z zoomingiem i morphingiem dla tylu dotów jak można prosić oraz:
Ile dotów można w jednej ramce postawić ?
Czy czyszczenie pamięci jest zerowaniem całego bufora, czy bardziej opłaca się gasić ploty?
: 26 sie 2009, 13:48
autor: Nitro
Co do czyszczenia, to oczywiście, że opłaca się pojedynczo ploty gasić, jak stawiamy punkty, to modyfikujemy równocześnie kasujący speedcode sta $xxxx.
: 26 sie 2009, 13:57
autor: wegi
Zielony jestem w tym ale czy też nie robisz przez eor, że raz postawisz a raz zgasisz, czy po prostu 8 dotów od razu gasisz??
Ile cykli na postawienie plota zużywasz??
Jak widzę, że Zielok miał 1024 to chyba szybko się da??
: 26 sie 2009, 15:11
autor: prezes
obroty obrotom nie rowne. mozesz obracac wokol 3 osi, wokol 2 i wokol 1 - im mniej tym obroty szybsze, mniej obliczen. najwiecej plotow w ramce mozna zmiescic dla 1 osi kiedy zmienia sie tylko jedna wspolrzedna - wtedy lecimy po petli 256 pozycji i jako bonus mozna wykorzystac sprajty. tylko ze IMHO to juz jest takie sciemnione 3d...
gaszenie oczywiscie przypisane do plota - lda#$00 sta$xxxx sta$yyyy ...
jesli mowa o opium - nie pamietam ile tam bylo cykli na plot - te ploty sa duzo starsze niz samo demo. na norcie 7 pokazalem kulke z plotow 3d - tam bylo ich wiecej
http://noname.c64.org/csdb/release/?id=8807
a dziela zieloka jeszcze nie widzialem, nie wypowiadam sie..
: 26 sie 2009, 15:31
autor: wegi
Dobra, ale trajektorie były wcześniej przeliczone i w ramie były już przeliczone współrzędne, czy każdy dot z osobna liczony co wydaje się niemożliwe, czy policzony np. jeden i jego przesunięcie było jakimś współczynnikiem dla pozostałych?
No i ten morphing, zooming - no zdradź trochę więcej - idea...
Bo kapitalnie to wygląda w opium - wówczas Butt-man:)
No a kuleczka też bardzo ładna gratulacje
: 26 sie 2009, 15:50
autor: Nitro
Ile cykli na postawienie plota zużywasz??
Nie mam się czym chwalić, wychodzi coś koło 60'u z kasowaniem na pełnoekranowy.
: 26 sie 2009, 16:37
autor: prezes
Trajektorie są ofcoz realitime - prekalk nie zmieściłby sie w RAMie:
128 plotów (jak dobrze pamietam) x 25Hz x ~20s x 3(xyz) =~ 200KB
Morphing między dwoma obiektami działa tak:
dla każdego punktu dla wszystkich 3 współrzędnych jest liczona 2-bajtowa delta ze znakiem:
Delta x = (wsp. x obiektu#2 - wsp. x obiektu#1) / ilosc klatek przejscia
Delty są policzone w tle w czasie kiedy kręci się obiekt bez morphingu. W fazie przejścia w każdej klatce przed policzeniem obrotów do współrzędnej dodajesz delte i przesuwasz punkt - z przeniesieniem, zapisując w RAMie młodszy bajt do następnej iteracji:
X1lo X1hi = X0lo X0hi + DeltaXlo DeltaXhi
X1lo - zapisujesz,
X1hi - nowa wsp. punktu,
X0lo - zapisany z poprzedniej iteracji,
X0hi - stara wsp.
Powtarzasz tyle razy ile jest klatek przejściowych, aż dostaniesz obiekt wyjściowy.
Cykli na punkt jest napewno wiecej niz 60 - przy morphingu trzeba policzyć wsp. Z którą normalnie się pomija. No i dochodzi cieniowanie w multikolorze.
: 26 sie 2009, 17:42
autor: k.
wegi a co za problem dołożyć ramu
: 26 sie 2009, 18:43
autor: wegi
Dzekuję bardzo Prezes i Nitro - jest to dobry kawałek koderskiej roboty
: 27 sie 2009, 12:29
autor: zielok
W "12 years later" ekran czyściłem przez zerowanie bufora czyli
lda #$00
sta $xxxx
sta $xxxx+1
sta $xxxx+2
itd.
Przy ilości 1024 plot było to szybsze niż kasowanie plotów (na 16x16char)
Przy fullscrenie szybsze może być czyszczenie plotów.