Matematika” fakultetı “algoritmlastiriw hám programmalastiriw texnologiyalari” kafedrası
Download 366.17 Kb.
|
Артыкбаев Жалгас курсовая работа
Interfeysler menen islew
DirectX com texnologiyasına tiykarlanǵan (komponent ob'ekt modeli - ob'ektlerdiń komponent modeli). Itimal, bul texnologiya bir qatar artıqmashılıqlarǵa iye hám bunday ónimlerdi islep shıǵıwshı ushın turmıstı ápiwayılastıradı, bul halda DirectX ni islep shıqqanlar ushın, biraq paydalanıwshılar ushın bul model menen islew rejimin qosımsha úyreniw bolıp esaplanadı. Comning tiykarǵı ideyası virtual funktsiyalar kestesi kórsetkishleri menen islew bolıp tabıladı. DirectX terminologiyasida sóz ornına funktsiya interfeysi hám usılları túsinigi isletiledi. Bunday kestelerdi shólkemlestiriwdiń shamalıq sxeması suwretde kórsetilgen: Suwretde kórinip turıptı, olda, interfaces stol ústinde bir kórsetiwshi bar, hár bir kletka óz gezeginde bólek interfeysi usılları markerdi óz ishine aladı. Shubhasız, tuwrı usıldı shaqırıw tikkeley múmkin emes. Tek kórsetkish menen birpara manipulyaciyalardı ámelge asırıp, oǵan erisiw múmkin. Bunday manipulyaciya tártibi tómendegi háreketler menen tariyplanishi múmkin: 1. Ob'ekt jaratıw 2. Bul ob'ekttiń tiyisli interfeysine belgi etiń. 3. Bul kórsetkishten paydalanıp, kerekli usıldı shaqırıń. Ob'ektti bir ret jaratıp, kerekli interfeyske belgi etip, kerekli usıllardı qálegen tárzde shaqırıwıńız múmkin. Eger C++ de bul mexanizm bul formada ámelge asırılsa : // Ob'ektti jarattı hám IDirect3 D9 interfeysi ushın markerdi aldı pd3 d9 = Direct3 DCreate9 (D3 D_SDK_VERSION); // Createdevice usılı shaqırildi pd3 d9 -> CreateDevice (arg1, arg2, arg3, arg4, arg5, arg6, arg7); Keyin assemblerda usınday boladi: direct3 dcreate9, d3 d_sdk_version invoke; ob'ekt jaratılǵan mov pd3 d9, eax; kórsetkish aldı push arg7 push arg6 push arg5 push arg4 push arg3 push arg2 push arg1 push pd3 d9 mov eax, pd3 d9 mov eax,[eax] call dword ptr [eax+3 Ch] Buyrıqlar mánisi, joqarıda, suyekke createdevice usılı ushın maǵlıwmatlardı kirgiziw ushın tómenge keledi; usılları bir stol ústinde bir kórsetiwshi alıw, interfeysi ushın bir pointer járdeminde; hám createdevice usılı ózi qońıraw. Bunday halda, 3 CH nomeri ápiwayıǵana tártip nomeri CreateDevice kórsetkishleri kesteinde tórt ret kóbeytiriletuǵın usıllar menen. Usıldıń haqıyqıy adresin esaplaw menen shuǵıllanatuǵın bunday operatsiyalar com modeli menen assembler ústinde islew qálewin qaytarıwı múmkin. Bunı d3 d9 so'l járdeminde aldın alıw múmkin. Joqarıdaǵı sıyaqlı birdey jumıstı atqaratuǵın programma, lekin bunday so'l járdeminde: direct3 dcreate9, d3 d_sdk_version invoke; ob'ekt jaratılǵan mov pd3 d9, eax; kórsetkish aldı d3 d9 CreateDevice, pd3 d9, Arg1,.. ., Arg7 Ibratlı avtomatikalıq túrde biz ushın barlıq úzliksiz islerdi ámelge asıradı hám usıldıń shaqırıwı ádetiy Windows API funktsiyasına uqsas kórinedi.[5] D3 dev9, d3 dxmesh makrolari tap sol tárzde tiyisli klasslardıń usıllarına kiriwge múmkinshilik beredi. Download 366.17 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling