[#6]
Re: Grafika Copper + Bitmapa
@asman,
post #5
Dodam do tematu, że możemy sobie zaoszczędzić pamięć przeznaczoną na przechowywanie obrazka również w inny sposób i co więcej:
- Nie mieć ograniczeń palety (nadal dostępne są 32 dowolne kolory lub więcej na ekranie w dowolnym miejscu),
- Nie mieć ograniczeń Coppera (zmiany tylko w liniach poziomych),
Otóż chodzi o tzw. PlanePick oraz PlaneOnOff.
PlanePickiem sterujemy w które bitplany chcemy wpisać dane graficzne. Przygotowujemy tylko tyle danych (bitplanów) ile jest zapalonych bitów w PlanePick.
PlaneOnOff zaś decyduje jakimi bitami wypełnić resztę bitplanów (0 lub 1 dla każdego bitplanu).
W tym przypadku, jeżeli korzystamy tylko i wyłącznie z 4 kolorów, to możemy zrobić przykładowo PlanePick ustawione na %00000011 (bitowo), lub $03 (szesnastkowo), zaś PlaneOnOff wybrać pulę 4 kolorów z palety (np. 32-kolorowej).
Żeby uzyskać różne pule, po prostu dzielimy obrazek na części, ale każda cześć potrzebuje tylko 2 bitplanów do przechowania.
Czyli jeżeli chcemy wybrać pierwszą pulę piszemy w PlaneOnOff zera: %00000000 ($0), drugą pulę - %00000100 ($04), trzecią pulę: %00001000 ($08) itd. (Indeks początkowy puli rośnie o 4 kolory).
Bitmapa ekranowa musi mieć wymaganą liczbę kolorów, ale oszczędności dotyczą danych graficznych. Nie potrzeba więcej niż 2 bitplany na każdy fragment obrazka (w tym przykładzie).
Można rzecz jasna obie metody połączyć i zyskać więcej kolorów na Copperze.
Efekt który uzyskał C64Portal wygląda świetnie, ja tylko informuję o innej metodzie na kompresję/oszczędność.
Ostatnia aktualizacja: 05.01.2024 16:35:47 przez Hexmage960