Demo sztuka
Demo sztuka
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?
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?
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..
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..
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
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
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.
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.