Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Asm: Общие вопросы > DirectX+ASM?


Автор: Kurt 5.4.2004, 20:45
Народ, если кому не жалко, покидайте ссылки, где можно прочитать как работать с DirectX на АСМе?
Желательно, где попроще и поподробнее..
Просто, решил изучить этот момент..

Автор: oleg1973 5.4.2004, 21:12
Kurt
smile.gif
ссылок не знаю
покажу на примере
invoke CreateWindowExA,0,_class,_title,\
WS_POPUP+WS_VISIBLE,0,0,0,0,NULL,NULL,[wc.hInstance],NULL
mov [myhwnd],eax
invoke DirectDrawCreate,NULL,DDraw,NULL
comcall DDraw,SetCooperativeLevel,[myhwnd],DDSCL_EXCLUSIVE+DDSCL_FULLSCREEN
comcall DDraw,SetDisplayMode,640,480,32
mov [ddsd.dwSize],sizeof.DDSURFACEDESC
mov [ddsd.dwFlags],DDSD_CAPS+DDSD_BACKBUFFERCOUNT
mov [ddsd.ddsCaps.dwCaps],DDSCAPS_PRIMARYSURFACE+DDSCAPS_FLIP+DDSCAPS_COMPLEX
mov [ddsd.dwBackBufferCount],1
comcall DDraw,CreateSurface,ddsd,DDSPrimary,NULL
mov [ddscaps.dwCaps],DDSCAPS_BACKBUFFER
comcall DDSPrimary,GetAttachedSurface,ddscaps,DDSBack

получаем полноекранный ддрав с бекбуф
дальше перед тем как рисовать в буф его нада залочить (заблокировать тобиш)
comcall DDSBack,LockSurface,0,ddsd,DDLOCK_WAIT,0
mov edi,[ddsd.lpSurface]
после данной махинации в edi адр буфера
можеш рисовать smile.gif
mov [edi],0ffffffffh вот к примеру точечку поставили белую (у нас режим 32 бита шас поэтому 4 байта на точку)
после рисования делаем
comcall DDSBack,UnlockSurface,0
разлочиваем
comcall DDSPrimary,Flip,0,0
и делаем флип (меняем сурфейсы, тот что был в бекбуф оказвается на экране и наоборот)
ну вообщемто все


Автор: Kurt 5.4.2004, 21:17
Ох..
Тяжеловато немного.. smile.gif
Или это все ничем не отличается от других языков, просто вызовы ф-ций DirectX на АСМе?

Автор: oleg1973 5.4.2004, 21:24
ничем не отличается
к примеру беоеш сишний исходник
и переписваеш вызовы с invoke и все
ну еще в асме нада сделать описание структур
к примеру
wc WNDCLASS
msg MSG
DDraw DirectDraw
ddsd DDSURFACEDESC
ddscaps DDSCAPS
DDSPrimary DirectDrawSurface
DDSBack DirectDrawSurface

как в си прям smile.gif

все выше сказаное справедливо для Fasm . там в инклудах структуры все есть

Автор: Anklav 9.4.2004, 15:38
на http://wasm.ru/ можно много чего найти

Автор: oleg1973 11.4.2004, 03:46
Kurt
май френд
стукни в аську я те исходник покажу smile.gif

Автор: Kurt 11.4.2004, 11:05
Угу..
Однако, можь тута следует выложить?
Мало ли кому интересно станет..

Автор: oleg1973 11.4.2004, 15:48
ок
шас тока в читабельный вид приведу немнога

Автор: S.A.P. 26.12.2004, 17:11
Цитата(oleg1973 @ 11.4.2004, 15:48)
ок
шас тока в читабельный вид приведу немнога
ну как? smile

Автор: Guest 17.12.2005, 21:44
smile smile

Автор: Tyler Durden 29.12.2005, 16:26
Зах тебе это ДиректХ ? ОГЛь рулит (по нему, кстати (гг), есть мой тьют на FASM. Лежит http://www.tylerdurden.net.ru/download.php?file=files/tutorial.rar

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)