Prekrivanje je hardverska funkcija video kartice koja omogućuje prekrivanje slike na glavnom zaslonu (primarna površina) bez kopiranja video memorije. Prekrivanje se izvodi u digitalno-analognim pretvaračima video kartice (RAMDAC) u procesu stvaranja video signala poslanih na monitor. RAMDAC skenira primarne površine redak po redak tijekom postupka i prebacuje se na prekrivajuću sliku kada je u pitanju.
Potrebno
Splet specijalnih efekata iz knjižnica
Upute
Korak 1
Da biste omogućili Overlay, potrebno je razmotriti pisanje programa koji prikazuje neke specijalne efekte na površini radne površine ili na mjestima proizvoljnih boja (ako način crtanja na radnoj površini smatramo glavnim načinom rada).
Korak 2
Odaberite poseban efekt. Što se tiče izbora specijalnih efekata, ne biste trebali biti posebno teški - oni se jednostavno mogu posuđivati iz primjera u knjižnicama FastLIB, na primjer, algoritmi za crtanje vatrene kugle. Nakon toga učinku trebate dodati jednostavan sustav čestica i rezultat imenovati jer će biti prikladan. Inicijalizirajte DirectDraw. Samo primarne površine imaju smisla inicijalizirati se.
3. korak
Provjerite mogućnost prikaza sloja i njegovog stvaranja. Da biste to učinili, upotrijebite funkciju GetOverlayCaps. U GetOverlayCaps nema ništa komplicirano i zanimljivo - to je prijenos iz DDCaps-a svakog bita ili vrijednosti povezane s prekrivačima u kompaktniju strukturu - TOverlayCaps. Dalje, trebali biste ispraviti veličinu sloja tako da odgovaraju parametrima dobivenim tijekom upotrebe funkcije. U stvarnosti je vjerojatnost uspješnog izvršavanja takvog koda izuzetno beznačajna, pa se na njega ne biste trebali posebno usredotočiti - posebice, njegova veličina ne bi trebala biti ograničena kako bi se izbjegao spor rad, nije potrebno provjeravati veličinu u bajtovima za mogućnost prodiranja u sadržaj video memorije itd.
4. korak
Općenito, vrijedi provjeriti više da biste dobili izvješće, jer se sam postupak stvaranja prekrivača vrši metodom grube sile. Poanta je u tome da ne postoje funkcije poput EnumOverlayFormats i da nisu stvorene, pa bi korisnik trebao provjeriti bilo koji zamislivi format i nadati se da će imati sreće. Postoji, međutim, funkcija IDirectDraw7GetFourCCCodes, koja je dizajnirana za određivanje koda formata koji nije RGB (FourCC), ali uključuje ne samo potrebni YUV, već i format komprimirane teksture i druge. Čini se neracionalnim upotrebljavati cijeli popis i definirati svaki format kao YUV ili ne-YUV.
Korak 5
Uklonite sliku sa radne površine, ako postoji, i dodijelite joj DCK boje. Omogući DCK prekrivanje u boji. Prekrivač će biti uključen i spreman za rad. Vizualni učinci njegove uporabe mogu se procijeniti nakon smanjenja svih radnih prozora.