Overlay - бул видеокартанын негизги экранда (баштапкы бетинде) видеотасманы көчүрбөстөн, үстүртөн каптоого мүмкүнчүлүк берген аппараттык функциясы. Мониторго жөнөтүлгөн видеосигналдарды түзүү процессинде видеокартада санариптен аналогго өзгөрткүчтөрдө (RAMDAC) жүргүзүлөт. RAMDAC процесстин жүрүшүндө баштапкы беттерди саптан-сапка сканерлейт жана ал келгенде үстүртөн сүрөттөлүшкө өтөт.
Зарыл
Китепканалардан атайын эффекттер топтому
Нускамалар
1 кадам
Overlay функциясын иштетүү үчүн, жумушчу столдун бетине же каалаган түстөрдүн жерлерине кандайдыр бир өзгөчө эффекттерди көрсөтүүчү программаны жазууну караштыруу керек (эгер биз жумушчу столдогу сүрөт тартуу режимин негизги режим деп эсептесек).
2-кадам
Атайын эффект тандаңыз. Атайын эффекттерди тандоо маселеси сиз үчүн кыйынчылык туудурбашы керек - мисалы, FastLIB китепканаларына мисал келтирип алсаңыз болот, мисалы, от шарын тартуу алгоритмдери. Андан кийин, эффектке бөлүкчөлөрдүн жөнөкөй тутумун кошуп, натыйжаны ыңгайлуу деп атооңуз керек. DirectDraw программасын баштоо. Баштапкы беттер гана инициалдаштырууга маани берет.
3-кадам
Жабууну көрсөтүү жана аны түзүү мүмкүнчүлүгүн текшериңиз. Бул үчүн GetOverlayCaps функциясын колдонуңуз. GetOverlayCaps программасында татаал жана кызыктуу эч нерсе жок - бул DDCaps ар бир биттин же кошумча катмарлар менен байланышкан маанинин TOverlayCaps түзүмүнө өтүшү. Андан кийин, үстүңкү катмардын көлөмүн, алар функцияны колдонуу учурунда алынган параметрлерге дал келиши керек. Чындыгында, мындай коддун ийгиликтүү аткарылышынын ыктымалдыгы өтө эле аз, андыктан ага өзгөчө көңүл бурбоо керек - тактап айтканда, жай иштөөдөн качуу үчүн анын көлөмү чектелбеши керек, көлөмүн байт менен текшерүүнүн кажети жок видео эс тутумдун мазмунун басып өтүү мүмкүнчүлүгү үчүн жана башкалар.
4-кадам
Жалпысынан отчет алуу үчүн көбүрөөк текшерүү жүргүзүү керек, анткени үстүнкү катмарды түзүү процесси орой күч колдонуу ыкмасы менен жүргүзүлөт. Кеп EnumOverlayFormats сыяктуу эч кандай функциялардын жок экендиги жана жаратылбагандыгы, андыктан колдонуучу элестетилген форматты текшерип, бактылуу болом деп үмүттөнүшү керек. Бирок, RGB эмес форматтагы кодду (FourCC) аныктоого арналган IDirectDraw7GetFourCCCodes функциясы бар, бирок ал өзүнө керектүү YUV гана эмес, кысылган текстуранын форматын жана башкаларды камтыйт. Бардык тизмени колдонуу жана ар бир форматты YUV же YUV эмес деп аныктоо акылга сыйбас нерсе окшойт.
5-кадам
Эгерде бар болсо, сүрөттү жумушчу столдон алып салыңыз жана ага DCK түстөрүн бериңиз. DCK түс катмарын иштетүү. Үстү жабуу күйгүзүлүп, даяр болот. Аны колдонуунун визуалдык эффекттерин бардык иштеп жаткан терезелерди минималдаштыргандан кийин баалоого болот.