Hlavní navigace

Názor k článku Grafický subsystém počítačů Amiga II od Karel - Řekneme, že obrazovka začíná v paměti na adrese A,...

  • Článek je starý, nové názory již nelze přidávat.
  • 1. 10. 2009 17:27

    Karel (neregistrovaný)

    Řekneme, že obrazovka začíná v paměti na adrese A, řádek má L bytů, z nichž se jich V zobrazí, a má se zobrazit posunuto o 0 pixelů doleva.

    Až dosud klasika.

    A teď jste pomocí copperu v rámci zatemnění na řádku 20 řekli, že se má obrázek zobrazit posunutý o 4 pixely.

    Opět pomocí copperu jste při zatemnění na řádku 40 řekli, že posun je 0 pixelů, ale změnili jste adresu obrazové paměti o 1 bajt. Čili posun o 8 pixelů.

    Atd.

    Je to jakobyste obrázek horizontálně rozstříhl na 11 pásků a každým z nich mohl libovolně posouvat. Dokonce ani v paměti nemusí být za sebou.

    Tak to máte pozadí a popředí. To pomocí dual playfield a copperu dáte nejprve do pozadí a na určitém řádku naopak do popředí (takže kameny v dáli jsou za hlavním obrazem, plot dole je pak před obrazem).

    Hlavní postavu a potvory naanimujete klasicky v druhém playfieldu. Můžete i přihodit nějaké další objekty. Na další efekty se dají použít sprity.

    Jinak s pozadím se dají dělat divy, stačí dvoubarevné, dithering a změna barvy pomocí copperu (postupně na řádku změním odstín) udělá zázraky. Pro „hlavní grafiku“ tak zbydou 4 plány a to je 16 barev.

    Další populární trik je založen na starém známém „akce se odehrává jen na malém místě, nahoře je nebe, kam žádná střela nedoletí“. Takže si na horní část obrazovky uděláte dual playfield, kde jedno bude ubíhající pozadí (simulace vodorovné plochy, viz výše) a druhé budou nějaké jiné pozadí, například domy (tedy svislé plochy). V jistém místě pak pomocí copperu změníte rozložení playfieldu, necháte si jen jeden typ pozadí (který se hodí více) a v druhém playfieldu budete bojovat, střílet atd. Pak zase na nějakém řádku změníte playfieldy a budete simulovat „popředí“.

    Ve zkratce:
    1. Můžete měnit odkud se berou grafická data a libovolně je po pixelech posouvat (o to se stará zobrazovací koprocesor, v paměti nic neposouváte)
    2. Obrazová data v paměti nemusí vypadat jako na obrazovce – zobrazovací koprocesor ví, kde data začínají, kolik z nich má zobrazit (viditelná část) a o kolik má pak skočit dál dopředu aby se dostal na další řádek. Zjednodušeně řečeno, v paměti můžete mít obrázek mnohem větší, než co pak koprocesor vlastně zobrazí.
    3. Máte copper. Tedy můžete všechna nastavení kdokoliv změnit, v závislosti na poloze paprsku. Asi znáte standardní copper efekt, že? Máte dvoubarevný obrázek (dvě barvy v paletě) a pomocí copperu pak na každém řádku měníte obsah barvové palety – takže na obrazovce vidíte duhu. Takto můžete měnit nejen barvy ale i rozložení bit plánů, bitové posuny atd.