Pārklājums ir videokartes aparatūras funkcija, kas ļauj pārklāt attēlu uz galvenā ekrāna (primārās virsmas), nekopējot video atmiņu. Pārklājums tiek veikts videokartes digitālā-analogā pārveidotājos (RAMDAC), veidojot monitoram nosūtītus video signālus. RAMDAC procesa laikā skenē primārās virsmas pa rindai un, kad runa ir par to, tiek pārslēgts uz pārklājošu attēlu.
Nepieciešams
Speciālo efektu komplekts no bibliotēkām
Instrukcijas
1. solis
Lai iespējotu pārklājumu, ir jāapsver tādas programmas rakstīšana, kas uz darbvirsmas virsmas vai patvaļīgu krāsu vietās parāda dažus īpašus efektus (ja par galveno režīmu uzskatām zīmēšanas režīmu uz darbvirsmas).
2. solis
Izvēlieties īpašu efektu. Attiecībā uz specefektu izvēli jums nevajadzētu būt īpaši sarežģītam - tos vienkārši var aizņemties no piemēriem FastLIB bibliotēkām, piemēram, ugunsbumbas zīmēšanas algoritmiem. Pēc tam efektam jāpievieno vienkārša daļiņu sistēma un jānosauc rezultāts, jo tas būs ērti. Inicializējiet DirectDraw. Inicializēt ir jēga tikai primārajām virsmām.
3. solis
Pārbaudiet iespēju parādīt pārklājumu un to izveidot. Lai to izdarītu, izmantojiet funkciju GetOverlayCaps. GetOverlayCaps nav nekas sarežģīts un interesants - tā ir katra bita vai ar pārklājumiem saistītās vērtības pārsūtīšana no DDCaps uz kompaktāku struktūru - TOverlayCaps. Pēc tam jums vajadzētu izlabot pārklājuma izmēru, lai tie atbilstu parametriem, kas iegūti, lietojot funkciju. Patiesībā šāda koda veiksmīgas izpildes iespējamība ir ārkārtīgi nenozīmīga, tāpēc jums nevajadzētu īpaši koncentrēties uz to - jo īpaši tā lielumam nevajadzētu ierobežot, lai izvairītos no lēna darba, nav nepieciešams pārbaudīt lielumu baitos par iespēju iekļūt video atmiņas saturā utt.
4. solis
Kopumā ir vērts pārbaudīt vairāk, lai iegūtu ziņojumu, jo pats pārklājuma izveidošanas process tiek veikts ar brutālu spēku metodi. Lieta ir tāda, ka tādas funkcijas kā EnumOverlayFormats nepastāv un nav izveidotas, tāpēc lietotājam vajadzētu pārbaudīt jebkuru iedomājamu formātu un cerēt, ka viņam paveiksies. Tomēr pastāv funkcija IDirectDraw7GetFourCCCodes, kas paredzēta, lai noteiktu RGB formāta kodu (FourCC), bet tajā ietilpst ne tikai nepieciešamais YUV, bet arī saspiestās tekstūras formāts un citi. Šķiet neracionāli izmantot visu sarakstu un definēt katru formātu kā YUV vai ne-YUV.
5. solis
Noņemiet attēlu no darbvirsmas, ja tāds ir, un piešķiriet tam DCK krāsas. Iespējot DCK krāsu pārklājumu. Pārklājums tiks ieslēgts un gatavs darbam. Tās izmantošanas vizuālos efektus var novērtēt pēc visu darba logu samazināšanas.