![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Посмотрите пожалуйста в чём ошибка. У меня не хочет создаваться графическое устройство, если убрать в прорисовке проверку на nil, то выдаёт Access Violitation
PHP код:
|
#2
|
|||
|
|||
![]() Неправильно использован ps (перепутаны структура TD3DPRESENT_PARAMETERS и адрес PD3DPRESENT_PARAMETERS).
Код:
var ps : TD3DPRESENT_PARAMETERS; dm : TD3DDISPLAYMODE; hRet : HRESULT; begin DirectX := Direct3DCreate9(D3D_SDK_VERSION); DirectX.GetAdapterDisplayMode(D3DADAPTER_DEFAULT, dm); ZeroMemory(@ps, SizeOf(ps)); // windows.pas // FillChar(ps, SizeOf(ps), 0); // system.pas ps.Windowed := true; ps.SwapEffect := D3DSWAPEFFECT_DISCARD; ps.BackBufferFormat := dm.Format; HRet := DirectX.CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, Handle, D3DCREATE_SOFTWARE_VERTEXPROCESSING, @ps, Device); |
#3
|
|||
|
|||
![]() Это типо DerictX 9.0?
|
#4
|
|||
|
|||
![]() Слушайте народ, а есть хедеры на IDirectDraw7, DDCaps_DX7 версия как бы не принципиальна, т.е. необязательно DX7. Если есть скиньте на мыло: net-crazyfish@yandex.ru или дайте ссыль. Заранее спасибо.
|
#5
|
|||
|
|||
![]() Цитата:
|
#6
|
|||
|
|||
![]() Короче есть функция:
Код:
function VideoMemory: Cardinal; var dDirect : IDirectDraw7; Hal, Hel : DDCaps_DX7; begin DirectDrawCreateEx(Nil, dDirect, IID_IDirectDraw7, Nil); FillChar(Hal, SizeOf(DDCaps_DX7), 0); Hal.dwSize := SizeOf(DDCaps_DX7); FillChar(Hel, SizeOf(DDCaps_DX7), 0); Hel.dwSize := SizeOf(DDCaps_DX7); dDirect.GetCaps (@Hal, @Hel); Result := Hal.dwVidMemTotal; end; Надо ее оживить. |
#7
|
|||
|
|||
![]() Проблема решена. Хедеры нашел здесь: http://www.clootie.ru/delphi/download_dx92.html, если кому интрересно.
|
#8
|
|||
|
|||
![]() Ну скачал... А кто - нибудь объяснит, что это за файлы?
|
#9
|
||||
|
||||
![]() Цитата:
Понять, что хочет заказчик - бесценно, ведь он платит MasterCard ![]() |
#10
|
|||
|
|||
![]() Это я понял, но как их использовать?
|
#11
|
|||
|
|||
![]() Как и любые фунции модулей (math, sysutils и проч.). Например, создать объект:
Direct3DCreate9(D3D_SDK_VERSION); перед этим пишем: uses Direct3D9,... ещё, бывает, добавляется uses D3DX9 |