Eeee, taka "magiczna stała" to jest nic - zresztą, jak laoo wyjaśnił.
Prawdziwa magiczna stała to jest to: https://en.wikipedia.org/wiki/Fast_inverse_square_root
Nie czytam PM. Proszę używać e-mail.
Nie jesteś zalogowany. Proszę się zalogować lub zarejestrować.
TURGEN 9.3.0 Kolejna wersja multiplatformowego narzędzia do zarządzania obrazami taśm.
SV 2024 WE - program imprezy Już za tydzień odbędzie się zimowa edycja Silly Venture
Nowa obudowa dla 800XL - zostało 36 dni Niewiele ponad miesiąc do końca kampanii.
Zmarł twórca języka BASIC Zmarł Thomas E. Kurtz twórca języka BASIC
Zmiana serwera atari.area Serwis przeszedł właśnie ważną aktualizację infrastruktury
atari.area forum » Programowanie - 8 bit » demo effects
Strony Poprzednia 1 … 4 5 6
Zaloguj się lub zarejestruj by napisać odpowiedź
Eeee, taka "magiczna stała" to jest nic - zresztą, jak laoo wyjaśnił.
Prawdziwa magiczna stała to jest to: https://en.wikipedia.org/wiki/Fast_inverse_square_root
w nawiązaniu do https://atariage.com/forums/topic/29891 … nt=4917573
to ciekawe podejście wykorzystania znacznika C do tworzenia bajtów grafiki, nie przypominam sobie abym robił to w ten sposób
org $2000
main clc
ldx #0
lda #0
cpx test
ror @
cpx test+1
ror @
cpx test+2
ror @
cpx test+3
ror @
cpx test+4
ror @
cpx test+5
ror @
cpx test+6
ror @
cpx test+7
ror @
nop
brk
test dta $1,$1,0,$1,$0,$1,$1,$0
run main
w efekcie działania w/w programu otrzymamy tablicę TEST, w odwróconej kolejności z bitami ustawionymi przeciwnie
Apple IIGS (CPU 65816), opis realizacji efektów z dema "Kernkompetenz" by Ninjaforce
https://www.youtube.com/watch?v=glWIf0gfWSE
@tebe fajne video,
Ciekawostką jest to że opisany tam tryb "fill mode" jest też w Atari TT
jak działa ten "fill mode", podajemy pozycję początkową (X0, y) oraz końcową (X1, y) i sprzętowo wypełnia zadanym kolorem ?
Wypełnianie działa per jedna linia, nie zmienia zawartości pamięci RAM, tylko sygnał wysyłany do monitora.
Przykładowo, cała linia wstępnie jest wypełniona wartością 0.
Jeśli ustawiasz piksel x:10 y:10 na kolor o wartości 12, piksel x:110 y:10 na kolor o wartości 5, to układ graficzny dla linii 10, pomiędzy x:10 a x:109 wyświetli linię koloru 12, a od x:110 do końca prawej ramki linię koloru 5.
Czyli z punktu widzenia procesora, rysowanie linii to postawienie dwóch punktów - na początku (w kolorze linii) i na końcu linii (w kolorze tła), oraz upewnienie się że RAM pomiędzy punktami jest wyzerowany.
Problem jest że na TT nie ma chyba ani jednego programu któy by to wykorzystywał. Słyszałem że swego czasu ray^tSCc próbował do tego podejść i przy tym poległ, a to przecież tęgi łep.
Widze 2 możliwości: albo to nie działa wcale, albo dostępna dokumentacja jest za słaba żeby był szanse na wykorzystanie tego.
@Adam, ten tryb działa i jest tak prosty że nie trzeba żadnej dokumentacji. Nikt z niego jeszcze nie skorzystał bo na TT jest zaledwie parę dem.
Parę lat temu zrobiłem prosty przykład/demo dla zespołu Hatari. W sumie to też dodałem do Hatari obsługę tego trybu "smear"/"samplehold" oraz "hypermono"/"duochrome" (256 odcieni szarości). W międzyczasie Hatari zmieniło metodę renderowania danych, no i muszę te tryby do niej ponownie dostosować: https://hatari.tuxfamily.org/doc/authors.txt
W sumie to obsługuje się go w niemalże identyczny sposób co blitterowe wektory na Amidze - 1) czyszczenie ekranu; 2) rysowanie linii; 3) wypełnianie, ale z pominięciem punktu 3).
w sumie to na XE/XL taki "fill mode" też istnieje, przełączamy pociski na szerokość FULL, i ustawiając pozycję poziomą X stawiamy linię o długości 0..X w kolorze wybranego pocisku, teraz kolejny pocisk na pozycję X-30 w kolorze tła i mamy odcinek [x-30,x]
Phareon popełnił przykładowy efekt który z tego korzysta
@tebe ładnie to wygląda i jest szybkie
@Cyprian: chętnie dodamy kategorię TT Demo Compo na SillyVenture :)
@Adam, jest szansa ale znając moje tempo to na SV 44 :)
Dark Bit Factory, forum poświęcone efektom z dem
http://www.dbfinteractive.com/forum/ind … board=16.0
Twister 3D Scroll w Scratchu :) https://scratch.mit.edu/projects/173280022/editor/
W odpowiedzi do Laoo
często zapisuję ułamki właśnie jako n/256 i zamiast dzielić mnożę przez n/256 ;) to ma zaletę że starszy bajt po mnożeniu stanowi wartość całkowitą a młodszy ułamek , w moim ECU zbudowanym na 65c816 mnożę x*y/100 - jako że jedna z wartości jest w % więc dla zwiększenia precyzji używam (u/256*x+y*x)/100 , potem resztę z mnożenia n/100 zamieniam na n/256.
Po przemnożeniu x*u/256 - starszy bajt jest wartością całkowitą , młodszy częścią ułamkową. Na podobnej zasadzie odtwarzam sample:
lda ulamekCnt
adc ulamek
sta ulamekCnt
lda pozycja_fali
adc step
sta pozycja_fali
https://github.com/RobertTroughton/C64D … icReleases
co jakiś czas dodawane są nowe pozycje dem z C64
Checkerboard zoom (zoomowana szachownica)
https://www.pouet.net/prod.php?which=74681#c818114
Strony Poprzednia 1 … 4 5 6
Zaloguj się lub zarejestruj by napisać odpowiedź
atari.area forum » Programowanie - 8 bit » demo effects
Wygenerowano w 0.025 sekund, wykonano 61 zapytań