Przejdź do treści forum
atari.area forum
Twoje polskie źródło informacji o Atari
Nie jesteś zalogowany. Proszę się zalogować lub zarejestrować.
Aktywne tematy Tematy bez odpowiedzi
Aktualności ze świata Atari
Tydzień na oddanie głosu w FUJICUP! Głosowanie potrwa tylko do 22 lutego 2025...
TURGEN 9.3.1 Najnowsza wersja oprogramowania TURGEN wprowadza kilka istotnych ulepszeń.
FujiCup 2024 - głosowanie Wystartowało głosowanie w tegorocznej edycji konkursu FujiCup.
IX. Basque Tournament of Atari 2600 31 stycznia Euskal Retro Association zorganizowało IX. Baskijski Turniej Atari 2600.
Rogul 1.0f Poprawki i nowe funkcje
Opcje wyszukiwania (Strona 3 z 6)
Jest prosta metoda, jak znowu zrobić fillera na wybraną ilość planów (nawet uproszczą się halftony). W wolnej chwili zmodyfikuję źródło.
Jednak dodałem oddzielne tablice dla masek blittera. :) Zmodyfikowałem makro na tryb współdzielony - teraz znowu mamy 90% wydajności trybu hog.
Edit: I jeszcze małe poprawki w kodzie. Wrzucam nową wersję na miejsce starej.
Wrzucam ostatnią inkarnację kodu. Najlepiej byłoby wszystkie modyfikacje robić właśnie na niej. Tak na szybko udało mi się zamienić to:
move.w #-6,D0
move.w D3,D1
subq.w #2,D1
lsl.w #3,D1
sub.w D1,D0 ; 0-6+((xCount-2)*8)
move.w D0,dstYinc(a6) ; DestYInc
na coś takiego:
move.w d3,d0
add.w d0,d0
move.w blitDstYIncTab(pc,d0.w),dstYinc(a6) ;-6-((xCount-2)*8)
No i poprawiłem opis dstYInca, bo wartości tam maleją, a nie rosną. :)
Oczywiście można zamienić jeszcze tablicę offsetów i masek na tablicę lewą i prawą, dzięki czemu pozbędziemy się lsrów z początku, ale czekam na modyfikację zaproponowane przez Cypriana.
Dzisiaj, najpóźniej jutro wrzucę kod bazowy do naszych dalszych modyfikacji. Trochę przekonfigurowałem liczenie linii - teraz jest wszystko czytelniejsze. Zostawiłem stary sposób liczenia linii, niestety nowy pomysł nie wypalił - głównie z powodu braku możliwości zastosowania mojego ulubionego addx'a.
Cyprian napisał/a:Jakby co to mam ideę na zmianę w fill_triangle_line_loop. BLiTTER, na podstawie leftEdge/rightEdge może wygenerować left mask/right mask. Koszt to 34 cykle szyny na inicjalizację rejestrów Halftone a potem tylko 2 cykle szyny na maskę.
Hmm... 2? A nie 4? A co z danymi do wypełniania zawartymi w halftonach?
Cyprian napisał/a:to w fill_triangle_line_loop można by jednym zgrabnym "movem.w (A0)+,D0-D3" ładować od razu wszystkie potrzebne dane.
Tylko pamiętaj, że na lsrze stracisz. Ja poszedłem w drugą stronę i zrobiłem oddzielne tablice dla prawej i lewej strony, dzięki czemu zamieniłem lsra na dwa addy. No i sam movem sporo zabiera.
W weekend powinienem mieć już jakąś działającą wersję. Jestem w trakcie realizacji pomysłu na wyliczanie współrzędnych do wypełniania bez wpisywania ich do tablicy i późniejszego odczytywania. Jeśli wszystko pójdzie po mojej myśli, to na bazie tego kodu będzie można wprowadzić już ostateczne zmiany do pętli wypełniającej o których właśnie wspomniałeś.
Edit: Kurrrrr.... Czasowo i jedna i druga procka wypadają podobnie. Szlag, szlag, szlag...
Znalazłem metodę przygotowywania danych do wypełniania trójkąta, która jest szybsza od stosowanej dotychczas. Niestety mam kłopot z pewnymi rodzajami trójkątów. Kurde widzę już koniec, a zarazem go nie widzę. :P
Trochę czasu mi na to zejdzie. Muszę całe liczenie trójkąta przepisać, a im więcej o tym myślę, tym mniej pewne wydają mi się oszczędności czasowe. :( Myślę, że do ostatecznej wersji fillera warto zaproponowane przez ciebie zmiany jeszcze wprowadzić.
Szczerze powiem, że nie wiem co jest nie tak z moimi cytatami. :( Chyba nie ma nic złego w cytacie w cytacie? Czy naprawdę musimy być tak bardzo drobiazgowi?
Myślałem. :) Jeszcze tylko procka na gourauda jakaś szybka i piękne intro może wyjść. Macie może jakieś fajne obiekty 3d składające się z kilkudziesięciu punktów? Przy dobrych wiatrach w 1-2 ramkach się zmieścimy. :D
Z bitplanami będzie trudniej (szczególnie z przejściami kolorów na poszczególnych pikselach), ale chyba warto pochylić się i nad tym. Jak zrobimy najlepszego fillera ever :P, to proponuję pomyśleć nad gouraudem. :D Z tego co widzę, to facet na true kolorze jedzie - znacznie łatwiej zapalić punkt w takim trybie, a procka rzeczywiście (oczywiście, jak już wiadomo jak to zrobić :P) jest prościutka. Mam kilka pomysłów, które warto byłoby sprawdzić, ale jak zwykle moim największym wrogiem będzie czas. :)
Cyprian napisał/a:Tomasz Wachowiak napisał/a:Myślę, że dzięki przekonfigurowaniu programu da się jeszcze z 5% uszczknąć.
pewnie tak. można jeszcze spróbować z rozdzieleniem linii - krótkie CPU; długie BLiTTER.
Myślę jeszcze o czymś innym :) Tyle, że dużo roboty i muszę cały kod napisać, żeby się przekonać, czy będzie szybciej. A krótkich linii bym nie ruszał, bo kod blittera jest zbyt piękny, żeby go prymitywną motorolą zastępować :P
Cyprian napisał/a:[Dzięki. Wyprodukowałeś naprawdę fajny kod, przy nim optymalizacja BLiTTERa to błahostka :)
Swoją drogą BLiTTER był mocno niedoceniany ale myślę że może on czymś nas zaskoczyć.
Nie bądź taki skromny... :) Te kilkanaście linijek jest przykładem na to, jak myśląc w nieszablonowy sposób można uzyskać świetne rezultaty. Jak dla mnie, to numer jeden od naprawdę długiego czasu.
Kolejne znalezisko archeologiczne. Generator lądów i chmurek. Jest nawet dokumentacja... :) Chyba chciałem wszystko do 'ST formatu' wysłać :O. Zostawiam w formie oryginalnej, pomimo że miejscami jest napisane trochę niegramatyczną angielszczyzną... Nikt nie jest idealny w wieku nastu lat... :P
Zgadza się. To z Godsów. :D Mam lewe ręce i do grafy i do muzy - dlatego jestem programistą (zawodowo i hobbystycznie)... :P
Zachwycające. :D Poważnie. Świetny pomysł. Nie ma to, jak wyciskać ostatnie soki ze słabego sprzętu. Myślę, że dzięki przekonfigurowaniu programu da się jeszcze z 5% uszczknąć. Muszę tylko żonę przekonać, żeby mi trochę czasu na testy dała :P
I będziemy kurdę najlepsi.. :P
Bober napisał/a:A julia chodzi mi od jakiegoś czasu po głowie.....
Jeśli inteligentna i oczytana, to nie dziwię się... :P
Odskocznia od triangle fillerów... :P Program jest już historyczny, ma chyba z 19-20 lat :), ale działa całkiem sprawnie. Generuje Mandelbroty i Julie. Naciśnięcie 'P' (po zakończeniu obliczania fractala) pozwala zmienić paletę kolorów, 'D' generuję kolejny fractal, 'Esc' powoduje zakończenie działania programu. Dopiski też historyczne, ale co tam... :)
O kurcze. Wygląda świetnie! To jest więcej, niż 10-15% o których myślałem! To rzeczywiście oznaczałoby najszybszą prockę na STeka. Mam nadzieję, że podzielisz się pomysłem.
Edit: Hmm.. Teoretycznie wypełnianie na halftonach powinno być mniej więcej tak samo szybkie, jak zerowanie lub wypełnianie jedynkami. Ciekawe, gdzie tkwi haczyk? :P
Cyprian napisał/a:Swoją drogą czy nie powinno to być ""IFGT planes-1" ?
Tak, przyrównanie do 0 jest nadmiarowe. :)
erOS napisał/a:Panowie, panowie...
Co chcecie publikować? kod na wypełnienie trójkąta? :)
Nie wiem czy ktoś to doceni :> Ludzie wolą oglądać efekty i gotowe produkcje. Kiedy wypuściłem nieskończone nasze demo
w postaci pojedynczych efektów w PRG (bo tylko to się nam ostało) to świat na pouecie generalnie nas 'zjeb...ł' a nie pochwalił, a to brak muzyki, że nie polinkowane w całość, itd. :>
Temat temu chłopacy sugerowali, żeby umieścić kod poza forum, więc się podpytuję... Ogólnie fillera napisałem, żebyście mogli go w swoich przyszłych zajebistych prodkach wykorzystać. :) Ostatnia inkarnacja kodu wygląda na kawał dobrej roboty, więc zachęcam do korzystania. :) Jak znajdę dosyć samozaparcia, to z tej obecnej wykroję jeszcze 10-15%, a to będzie oznaczać, że będziemy mieć jedną najszybszych procedur na STeka.
W programie są dziwne makra i opcje kompilacji warunkowej np. ifgt, być może VASM tego nie rozumie. Pusty ekran możemy otrzymać, jeśli podamy za duży indeks koloru w stosunku do ilości wypełnianych bitplanów.
Cyprian napisał/a:Problem z forum AA jest taki że osoba niezalogowana nie pobierze pliku. Czyli ograniczamy się tutaj do garstki osób z PL.
Rozumiem. Jeśli potwierdzicie, że działa - pomyślę o światowej premierze :P. Gdzie najlepiej wrzucić źródło?
Dziwne. Trochę zmieniłem includy, więc jeśli wrzuciłeś tylko fillera do katalogu z poprzedniej wersji, to może rzeczywiście coś nie zadziałać. Wrzucę PRG, sprawdź, czy będziesz widział trójkąt.
Dodałem kompilację warunkową dla jednego planu, pozbyłem się lsrów dzięki wprowadzeniu oddzielnych masek. Hmm... Panowie, czemu łatwiej jest wam ściągać plik z githuba, niż z forum, bo szczerze powiem żadnej różnicy nie widzę? :P
Znalezione posty [ 51 do 75 z 134 ]
Forum oparte o: PunBB
Currently installed 7 official extensions. Copyright © 2003–2009 PunBB.
Wygenerowano w 0.011 sekund, wykonano 65 zapytań