Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » DirectX: характеристика версій, особливості використання

Реферат DirectX: характеристика версій, особливості використання





169, Nikita raquo ;, 0

; WNDCLASSEX - ------------------------------------------- dd 12 * 4dd CS_HREDRAW + CS_VREDRAW + 20hdd OFFSET WndProcdd 0dd 0dd 400000hdd 0dd 0dd BLACK_PENdd 0dd OFFSET szClassName

hIconSm dd 0

; Повідомлення про помилки - --------------------------------- D9 db Не вдалося згенерувати обьект Direct3D9 , 9, 9,0DDevice9 db Не вдається створити пристрій Direct3D9 , 9,0

. DATA?; ::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::: MSG lt; gt; HWND? RECT lt; gt;

. CONST; :::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::: _ X EQU 640; Розмір вікна по горізонталі_Y EQU 480; Розмір вікна по вертикалі

. CODE; :::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::: GetModuleHandle, NULLhInstance, eaxLoadCursor, NULL, IDC_ARROWhCursor, eaxRegisterClassEx, ADDR cbSizeGetSystemMetrics, SM_CXSCREENeaxGetSystemMetrics, SM_CYSCREENeax, WIN_Yeax, 1

pop ebxebx, WIN_X

shr ebx, 1CreateWindowEx, NULL, ADDR szClassName, ADDR szAppName, _ SYSMENU or WS_VISIBLE, , eax, WIN_X, WIN_Y, NULL, NULL, hInstance, NULLhwnd, eaxGetClientRect, eax, ADDR clientwindow

invoke Init_Direct3D; Створюємо устройство_loop:

invoke PeekMessageA, ADDR msg, 0, 0, 0, PM_REMOVE;

test eax, eax; message; Якщо біля вікна немає повідомлень.

;

invoke Render_Scene ;. то отрісовивается сцена

jmp msg_loop;

;:; eax, DWORD PTR msg. message;

cmp eax, WM_QUIT; end_loop;

; TranslateMessage, ADDR msg; DispatchMessage, ADDR msg;

jmp msg_loop_loop:

mov eax, msg. wParam; Якщо цикл обробки повідомлень перерваний,

; то код виходу з програми передається в поле wParam :; повідомлення MSG.

invoke ExitProcess, eax

ret

; ================================================== ===

WndProc proc hWnd: HWND, uMsg: UINT, wParam: WPARAM, lParam: LPARAM

; ================================================== === uMsg, WM_CREATE; Це повідомлення надсилається вікна, коли воно создаетсяwmCreateuMsg, WM_DESTROY; Це повідомлення надсилається вікна, коли воно має бути унічтожено.wmDestroyuMsg, WM_KEYDOWN; Це повідомлення надсилається вікна, коли натиснули клавішу на клавіатуре.wmKeydownDefWindowProc, hWnd, uMsg, wParam, lParam; Якщо ми не хочемо обробляти отримане повідомлення, то; нам треба викликати DefWindowProc з параметрами, які Ми отримали.

; Ця функція API обробляє цікавлять Нас події.

wmDestroy :;- ----------------------------------------- Destroy_Direct3DPostQuitMessage, NULLeax, eax :;- ----------------------------------------- Eax, eax :;- ----------------------------------------- Eax, wParameax, VK_ESCAPEnoExitSendMessage, hwnd, WM_CLOSE, NULL, NULL: eax, eaxendp

; ================================================== ===

; Починається робота з Direct3D

; ================================================== === _ Direct3D proc; Створювати Direct3DDevice в повідомленні WM_Create можна!

. DATA

; D3DPRESENT_PARAMETERS - ----------------------------------------- dd 640; Ширина BackBufferdd 480; Висота BackBufferdd D3DFMT_X8R8G8B8; Формат використовуваної поверхностіdd 3; число Back буферов.dd 0; рівні мультісемплінг картинки. (зазвичай від 2-ух і вище)

MultiSampleQuality dd 0;

SwapEffect dd D3DSWAPEFFECT_FLIP; Ефект обміну поверхонь (BackBuffer)

hDeviceWindow dd 0; ID нашого віконця

Windowed dd 1; 0 - повноекранний, 1 - у віконці

EnableAutoDepthStencil dd TRUE; 1 - Direct3D створює Z + Stencil буфер. Якщо 0 - нічого не буде созданоdd D3DFMT_D24S8; Формат використовуваної поверхні

Flags dd 1; 0 або D3DPRESENTFLAG_LOCKABLE_BACKBUFFER=1

FullScreen_RefreshRateInHz dd 0; Частота оновлення екрану в Hz

FullScreen_PresentationInterval dd 1; Інтервал показу на екрані backbufferа.1=Чекати зворотного ходу променя

. DATA? D dd ?; або LPDIRECT3D9 (покажчик на Direct3D9)

pd3dDevice dd ?; або LPDIRECT3DDEVICE9 (покажчик на Direct3DDevice)

. CODEDirect3DCreate9, D3D_SDK_VERSIONpd3d, eaxea...


Назад | сторінка 6 з 12 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Характеристика автобуса малого класу сільського повідомлення ПАЗ-3205
  • Реферат на тему: Судові повідомлення
  • Реферат на тему: Завідомо неправдиве повідомлення про тероризм
  • Реферат на тему: Вибір засоби передачі рекламного повідомлення
  • Реферат на тему: Рекламне повідомлення. Основні структурні елементи