Odpověď na názor
Odpovídáte na názor k článku SDL: Hry nejen pro Linux (24).
Bliting dvou RGBA surfaců
celé vláknoKdyž v SDL vykreslujete jeden surface do druhého a oba jsou RGBA, nastává jeden problém; výsledná alpha není nějakým součtem, součinem či čímkoli jiným alph z obou obrázků, ale zůstává prostě neměnná. Prakticky to znamená, že když si vytvořím prázdný SDL_Surface, do nějž chci vykreslovat, nakonec nebude vidět nic. Existují dvě řešení (klidně i více, tyhle jsou známy mě), ani jedno není ideální:
- napsat si vlastní GetPixel a PutPixel (viz tento článek) a tudíž i vlastní vykreslovací funkci. Pomalé.
- Když jsem si vykresloval fonty pomocí TTF, udělal jsem si poměrně jednoduchou funkci, která rozdělí text na řádky, ty vykreslí, sloučí do jednoho SDL_Surfacu a ten vrátí. Tady bylo možno u zdrojového surface (ten, který vygenerovala TTF a který blitujeme do cílového) nastavit SDL_SetAlpha(radek, SDL_RLEACCEL, SDL_ALPHA_OPAQUE) a pak se do výsledného surface vykreslí kompletně celý původní obrázek bez ohledu na alphu na zdroji či cíli.
Nicméně super článek, sice se objevil (čti: já ho objevil) až v době, kdy mě takřka plně stačí původní SDL dokumentace, nicméně když jsem se zrovna včera rozhodl udělat si třídu obalující TTF, přijde mě to vhod. A to vlastně pokaždé, kdy potřebuji něco víc, než holou referenci, tak tohle mě bohatě stačí ;). Dík ;)
Pravidla pro diskutující
Přidáním čtenářského příspěvku do diskusí či fóra souhlasíte s tím, že budete dodržovat následující pravidla. Při jejich hrubém porušení se vystavujete riziku smazání příspěvku, jeho modifikaci, v krajním případě i zablokování přístupu do diskusí.
Redakce ze zásady nezasahuje do čtenářských diskusí a zavazuje se, že nebude mazat ani modifikovat příspěvky, kromě případů, kdy tyto porušují některé z následujících pravidel. V takové situaci je na zvážení redakce, zda příspěvek modifikuje s viditelným upozorněním, či přímo smaže. Redakce nikdy nemaže „nesouhlasné komentáře“ jen proto, že jsou nesouhlasné. Vítáme střet názorů, ale vždy v rámci slušné a kultivované debaty.
Příspěvky nesmí obsahovat:
- Vulgární či hrubé výrazy.
- Urážlivé výroky na adresu druhé osoby či skupiny osob.
- Texty, které mají za cíl jen vyprovokovat emotivní reakci (trolling).
- Rasové útoky či útoky na jakoukoliv jinou menšinu či skupinu obyvatel.
- Komerční nabídky a affiliate odkazy.
- Odkazy na warez, sériová čísla, licenční kódy, pornografii a další nevhodný materiál stejně jako žádosti o poskytnutí tohoto obsahu.
- Prokazatelně protiprávní obsah.
Informace o soukromí: U všech přidaných komentářů provozovatel ukládá IP adresu a hostname odesílatele. U neregistrovaných uživatelů se na webu zobrazuje část hostname, případně IP adresy, neumožňující identifikovat konkrétní počítač.
Povolené značky XHTML: a, br, code, em, li, ol, p, pre, strong, sub, sup, ul

