@AmigaRuleZZZ,
post #1
jeszcze więcej info (tak w ramach powszechnego obowiązku edukacji :P ), czyli c2p w telegraficznym skrócie:
amiga bez karty gfx do wyświetlania obrazu posługuje się bitplanami, znaczy to mniej więcej tyle, że wartość liczbowa (binarna) określająca kolor każdego pixela "rozbita" jest na pojedyncze bity umieszczone w różnych obszarach pamięci. W jednym obszarze umieszczone są wszystkie bity zerowe wszystkich pixeli, w innym wszystki pierwsze bity itd. Taki obszar nazywa się bitplanem.
Natomiast na peceeeee i amigach z kartami gfx wszystki bity odpowiadające kolorowi pojedynczego pixela trzymane są "w kupie", np w jednym bajcie (w trybach 8 bit), albo w 2, 3, albo 4 bajtach (tryby "truecolor") i taki rodzaj pamięci obrazu nazywa się "chunky"
W Gierkach (i Gomułkach), oraz wszędzie tam, gdzie potrzebne jest rysowanie obrazu pixel po pixelu znacznie korzystniejsze jest rysowanie rysowanie w buforze chunky, ale.. (musi być jakieś ale)
Amiga ze standardowymi kostkami nie potrafi wyświetllić bufora chunky i potrzebna jest konwersja tego badziewia na planar i tym właśnie zajmuje się c2p (działa to mniej więcej tak, że dokonuje reorganizacji bitów i przy okazji podziału na bitplany)
Tu masz ładnie na obrazku pokazane co c2p robi z bitami:
http://membres.lycos.fr/amycoders/sources/c2ptut.html
Oczywiście taka konwersja nie wykonuje się z prędkością światła, ale i tak działa to szybciej niż normalne rysowanie po jednym pixelu bo:
Przykładowy "koszt" kilku funkcji:
putpixel(x, y, color)
- 3 instrukcje w buforze chynku
- kilkanaście instrukcji w buforze planar i do tego pętla powtarzana tyle razy, ile jest bitplanów (w pętli tak na oko ze 4 instrukcje)
rysowanie teksturowanej linii (np. fragment wielokąta, tzw. scanline) w burorze chunky:
- 5 instrukcji na pixel, a na upartego i z pewnym uproszczeniem to i 4 się da :D
w buforze planar:
- to samo - 1 + putpixel(x, y, color), czyli ponad 30 instrukcji / pixel będzie spokojnie.
No a generalnie to AGA C2P oznacza jakąś procedurę do konwersji C2P przeznaczoną dla AGAtki, czyli operującą na 8 bitplanach, albo po prostu sposób wyświetlania obrazu w grze, bo może być jeszcze np. karta graficzna, a żeby nie paprać się z dodatkowym kodem, to obraz jest tworzony jak dla karty graficznej (chunky), a w razie jej braku za pomocą procegury c2p konwertowany na format przyswajalny przez AGAtę.
The koniec