Miféle töredék pixel?
A barátnőmnek kedveskednék. Gondoltam, írok neki valami egyszerű, kis mászkálós platform játékot, benne valami, számára kedves grafikával. Eddig nem is volt semmi gond, de a sprite kezelés nem lett elég smooth. Gondoltam, meglesem, más hogy lépi meg ezt az akadályt. Találtam is egy forráskódot, ami valami hasonló játék kódja, ahol is, legnagyobb meglepetésemre a spriteok mozgatásánál a sprite pozíciók nem integerben voltak megadva, hanem single-ben és az amúgy szegényes komment kitért olyanra, hogy töredék pixel. Döbbenet! Az én legjobb tudomásom szerint a monitorok legkisebb manipulálható egysége az egy pixel. Vagy valamit rosszul tudok?
Egyébként, az említett forrás mellett ott volt a bináris amit futtatva, nekem úgy tűnt, tényleg nem olyan darabos a sprite mozgása mint nálam. Tud valaki mondani, mutatni nekem erről a töredék pixelről valami konkrétumot?
Szerintem ez anti-aliasing (élsimítás).
Durván a lényeg az, hogy az alakzat (sprite) szélén az élek el vannak mosva.
Tehát az él mentén van legalább egy pixel a háttér és a tartalom között aminek színe átmenetet képez a grafika és a háttér szomszédos pixelei között.
Lehet számolni virtuális pixelekkel ami többszöröse a valós pixelek számának és a grafikát így ezzel a több pixellel számolni majd a képernyőre való kimásoláskor redukálni a pixelek számát az élek mentén. Úgy számolni, hogy az "átmeneti" (határoló) pixel színe a háttér és a grafika közé essen attól függő súlyozással hogy az él virtuális pixelpozíciója melyik valós pixelhez esik közelebb.
Ezzel az élek lépcsőzetessége jelentősen csökken, a mozgás pedig folyamatosabb lesz, mert nem pixelenként "ugrik" arrébb az alakzat, hanem átúszik egy pixellel arrébb.
Ez főleg lassú mozgásnál szembetűnő.
Ez a "töredék pixel" tehát csupán virtuális dolog.
Köszönöm az infót.
Tényleg az lehet, amit írtál, mert én rákerestem, és nem találtam ilyen töredék pixelre vonatkozó dolgot sehol.
Amúgy ez volt a kommentben, hogy
:use floating x,y values to allow fractional pixel moves:
Végre egy programozás topicba illő komoly kérdés amire komoly szakmai válasz érkezett.
Szívmelengető volt ilyet olvasni a sok "Hogy legyek programozó" típusú kérdés után ahol a válaszok rendre vitába torkollnak az 5 diplomával rendelkező milliomos PhD AI Engineerek akik szerint egyetemi végzettség nélkül nem létezel és a 8 általánost végzett szintén milliomos autodidakta Senior Architektek között akik szerint a diploma wc-papírnak se kell.
Bocs az offért
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!