Ang overlay ay isang pagpapaandar ng hardware ng isang video card na ginagawang posible upang mai-overlay ang isang imahe sa pangunahing screen (pangunahing ibabaw) nang hindi kinopya ang memorya ng video. Ginagawa ang overlay sa mga video card digital-to-analog converter (RAMDAC) sa proseso ng paglikha ng mga signal ng video na ipinadala sa monitor. Sinusuri ng RAMDAC ang pangunahing linya ng mga linya sa pamamagitan ng linya sa panahon ng proseso at lumilipat sa isang overlay na imahe pagdating dito.
Kailangan
Set ng mga espesyal na epekto mula sa mga aklatan
Panuto
Hakbang 1
Upang paganahin ang Overlay, kinakailangan upang isaalang-alang ang pagsusulat ng isang programa na nagpapakita ng ilang mga espesyal na epekto sa ibabaw ng desktop, o sa mga lugar ng di-makatwirang mga kulay (kung isasaalang-alang namin ang mode ng pagguhit sa desktop bilang pangunahing mode).
Hakbang 2
Pumili ng isang espesyal na epekto. Tungkol sa pagpili ng mga espesyal na epekto, hindi ka dapat maging mahirap - maaari lamang silang hiramin mula sa mga halimbawa hanggang sa mga aklatan ng FastLIB, halimbawa, ang mga algorithm para sa pagguhit ng isang fireball. Pagkatapos nito, kailangan mong magdagdag ng isang simpleng sistema ng mga maliit na butil sa epekto, at pangalanan ang resulta dahil magiging madali ito. Pasimulan ang DirectDraw. Ang mga pangunahing ibabaw lamang ang may katuturan upang magpasimula.
Hakbang 3
Suriin ang kakayahang ipakita ang overlay at likhain ito. Upang magawa ito, gamitin ang GetOverlayCaps function. Walang kumplikado at kawili-wili sa GetOverlayCaps - ito ay isang paglipat mula sa DDCaps ng bawat piraso o halagang nauugnay sa mga overlay sa isang mas compact na istraktura - TOverlayCaps. Susunod, dapat mong iwasto ang laki ng overlay upang magkatugma ang mga ito sa mga parameter na nakuha sa panahon ng paggamit ng pagpapaandar. Sa katotohanan, ang posibilidad ng matagumpay na pagpapatupad ng naturang code ay labis na hindi gaanong mahalaga, kaya't hindi mo ito partikular na ituon - sa partikular, ang laki nito ay hindi dapat limitahan upang maiwasan ang mabagal na trabaho, hindi kinakailangan upang suriin ang laki sa mga byte para sa posibilidad na tumagos sa mga nilalaman ng memorya ng video, at iba pa.
Hakbang 4
Sa pangkalahatan, sulit na suriin ang higit pa upang makakuha ng isang ulat, dahil ang mismong proseso ng paglikha ng isang overlay ay ginagawa ng isang brute-force na pamamaraan. Ang punto ay walang mga pag-andar tulad ng EnumOverlayFormats mayroon at hindi nilikha, kaya dapat suriin ng gumagamit ang anumang maiisip na format at inaasahan na maging masuwerte. Gayunpaman, mayroong isang pagpapaandar na IDirectDraw7GetFourCCCodes, na idinisenyo upang matukoy ang di-RGB format code (FourCC), ngunit kasama dito hindi lamang ang kinakailangang YUV, kundi pati na rin ang naka-compress na format ng texture, at iba pa. Upang magamit ang buong listahan at tukuyin ang bawat format bilang YUV o di-YUV na tila hindi makatuwiran.
Hakbang 5
Alisin ang imahe mula sa desktop, kung mayroon, at italaga dito ang mga kulay ng DCK. Paganahin ang overlay ng kulay ng DCK. Ang overlay ay bubuksan at handa nang umalis. Ang mga visual effects ng paggamit nito ay maaaring masuri pagkatapos na mai-minimize ang lahat ng mga gumaganang bintana.