Nitro napisal: |
Teoria chyba w porzadku, ale z szybkoscia tego moze byc srednio, pewnie twoje procedury mnozenia wcinaja troche czasu, jak widze po opisie -> 16 bitowy wynik. |
Cytat: |
Wiesz, jest pewna seria artykulow, gdzie opisane jest robienie wektorow w praktycznie wszystkich aspektach(chociaz sa dosyc stare, jest miejsce na optymalizacje, aktualne osiagniecia), pytanie czy chcesz sobie psuc zabawe ![]() |
Cytat: |
Hmm, tutaj to raczej bym sie nie martwil aby pomnozyc dwie 8 bitowe liczby i uzyskac 16 bitowy wynik to w skrocie - odczytanie z tablicy wartosci, nastepnie odejmowanie, zapis, odczyt z tablic, odejmowanie i zapis w komorce. I wtedy juz mamy wynik mnozenia w 16 bitach... Czyli szybko Smile |
Cytat: |
Narazie nie chce psuc sobie zabawy. Sam algorytm moim zadaniem wydaje sie niezly (wszystko w miare optymalnie wyglada w zalozeniach). Oczywiscie jak napisze kod to on juz napewno bedzie mogl zostac mocno zooptymalizowany ale jednak 12 lat przerwy robi swoje. ps. Chociaz daj moze linka do tej serii artykulow. Moze cos ciekawego tam zobacze.... |
Nitro napisal: |
Mimo wszystko jeszcze raz zapytam, czy chcesz ten art, moze lepiej skoduj po prostu swoj sposob, a jesli napotkasz problemy/skonczysz, to dam Ci link. |
zielok napisal: |
Ja to wiem, ze tak najlepiej tylko, ze nigdy stacji nie kodowalem ![]() |
kisiel napisal: |
IMHO z pozycji kodera to lepiej policzyc w stacji i rysowac w komciu. |
zielok napisal: |
Zreszta to \"mnozenie\" u mnie wyglada tak: lda $xxxx adc $yyyy adc $zzzz - tu \"mnoze\" trzy wartosci 8bitowe ze znakiem i uzyskuje wynik 8 bitowy ze znakiem (oczywiscie odpowiednio pomniejszego do przestrzeni 8 bitow) |
Nitro napisal: |
... proponuje tez poznac sposob na plotery, ponad 256 dotsow w ramce, choc bez perspektywy, to chyba jest standardem teraz |
fenek napisal: |
Ja tylko pytam z czystej ciekawosci, rozumiem ze wczesniej liczysz macierz 9 elementow ? Ja cos takiego robilem do obracania prostych obiektow, wektory \"cartoon/crayon\" w sweet infection. Na mala ilosc wierzcholkow u mnie dodawanie wygladalo tak samo tylko parametry odwolywaly sie tylko do strony zerowej. |
fenek napisal: |
Czy mozesz miec dowolne wspolrzedne punktow obiektu w 3d czy obiekt wyglada jak we wszystkich demach jakby byl \"przyciagniety\" do \"siatki 3d\". |
fenek napisal: |
Pytalem o macierz, bo jak sie ma obliczona 9 elementowa macierz to mozna za pomoca tablic skalowania przeskalowac jedna macierz na X macierzy (max. 27) i umiescic 28 macierzy 9 elementowych na stronie zerowej. Wtedy wszystkie obroty mozna zrobic na dodawaniach 8 bitowych 3 cyklowych adc $xx a nie adc $xxxx ale obiekt musi byc \"przyciagniety\" do siatki 3d okreslonej przez przeskalowane macierze. |
fenek napisal: |
offtop: Serio mnie to interesuje, ja bardziej sie zastanawiam nad pojsciem w to co pokazal Graham w jednym dentrze zeby tego nieszczesnego sinusa rozszerzyc do 512 bajtow i 16 bitow lub wiecej. Osobiscie uwazam ze ploty ktore zapierdalaja w jedna ramke powinny miec wartosci delt na katach mniejsze niz 1,4 stopnia. ![]() |
zielok napisal: | ||
A jednak nie ![]() |
kisiel napisal: |
niestety to bedzie \"zrzut kompo\"... bo kto ma 3 stacje, trzeba by sie zrzucic ![]() |
fenek napisal: |
) i wykonuje sie w krotkich liniach po 2 rastry (generuje tez te linie)... |
skull napisal: |
sorry ale dla mnie te wykorzystanie mocy drive-a, aby podniesc znaczaco wydajnosc to mzonki (shadery heheheh). Na poczatku roku Wegi sie w to bawil http://noname.c64.org/csdb/release/?id=87341, warto uruchomic i poczytac komentarze. Niezbyt wysublimowania wektorowka, a nawet nie osiaga pelnej plynnosci - gdzie tu mowa o srodowisku 3D. Oczywiscie jako ciekawostka to jest to ok, ale glownie cala rzecz \"przepada\" przy synchronizacji komunikacji, obsluga tego, to wlasnie waskie gardlo - ktore w rezultacie daje gorsze efekty niz dobra kalkulacja wektorow na samym c64 (Andropolis). ![]() |
kisiel napisal: | ||
Co do mozliwosci stacja-c64 warto zaznajomic sie z realtime demko by Victor/ESM, na ktoryms northcie to bylo. Co do waskiego gardla, istnieje cos takiego w komciu jak USERPORT i sprzecik CIA 6526 ktory umozliwia sprzetowe potwierdzenie odbioru. Teoretycznie mozna przesylac tym portem 80kB/s, nie uwazam to za waskie gardlo. Ja w moim komciu mam wersje bursta na 10 kabli, jedyny program co uzywal ten patent to bodaj burstnibbler oraz jakis system load (nie pamietam). Standard 8 kabelkow, jest dziwny bo trzeba jeszcze potwierdzac softwarowo odbior / nadanie... lub robic to synchronicznie. |
kisiel napisal: |
... c64 rysuje ramke i nie czeka na stacje ... |
skull napisal: | ||
|
fenek napisal: | ||||
No jak zwykle moje skroty myslowe o ktorych mysle a zapominam opisac. To mialo mniej-wiecej znaczyc, ze bylyby to maksymalnie 4 rozne porcje kodu do wykorzystania w efekcie ktory caly czas wywoluje na ekranie krotkie linie. Taki kod zajmowal dwie linie rastra i te kombinacje ze skokiem i uzyciem stacji zastosowane sa z powodu braku cykli w rastrach na generowanie adresu kodu dla kolejnej lini ekranu. Uff... |