Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Не запускается Direct3d [D7, Win95/98]


Cr@zy-EyE ©   (2005-12-29 15:48:00) 

Не запускаются даже стандартные примеры, например Tut01_CreateDevice

 g_pD3D := Direct3DCreate8(D3D_SDK_VERSION);
 if (g_pD3D = nil) then
 begin
   Result:= E_FAIL;
   Exit;
 end;
 if FAILED(g_pD3D.GetAdapterDisplayMode(D3DADAPTER_DEFAULT, d3ddm)) then
 begin
   Result:= E_FAIL;
   Exit;
 end;
 ZeroMemory(@d3dpp, SizeOf(d3dpp));
 d3dpp.Windowed := True;
 d3dpp.SwapEffect := D3DSWAPEFFECT_DISCARD;
 d3dpp.BackBufferFormat := d3ddm.Format;
 if FAILED(g_pD3D.CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd,
                               D3DCREATE_SOFTWARE_VERTEXPROCESSING,
                               d3dpp, g_pd3dDevice)) then
 // CreateDevice возвращает D3DERR_INVALIDCALL
 begin
   Result:= E_FAIL;
   Exit;
 end;


У меня старая видеокарта - возможно, из-за этого? Хотя диагностика DirectX нормально ведь работает.


NailMan   (2006-03-04 09:04:00) [1]

Пример(только теоретический пример, а не работающий пример!):  

D3DPP.BackBufferWidth:=ScreenWidth;
  D3DPP.BackBufferHeight:=ScreenHeight;
  D3DPP.BackBufferFormat:=GetFormatFromBPP(ColorDepth,False);
  D3DPP.BackBufferCount:=1;
  D3DPP.MultiSampleType:=D3DMULTISAMPLE_NONE;
  D3DPP.SwapEffect:=D3DSWAPEFFECT_DISCARD;
  D3DPP.Windowed:=True;
  D3DPP.EnableAutoDepthStencil:=true;
  D3DPP.AutoDepthStencilFormat:=GetFormatFromBPP(ZBufferDepth,True);
  If VSync then D3DPP.PresentationInterval:=D3DPRESENT_INTERVAL_ONE else
                D3DPP.PresentationInterval:=D3DPRESENT_INTERVAL_IMMEDIATE;


---
P.L.U.R. and WBR, NailMan aka 2:5020/3337.13


NailMan   (2006-03-04 09:02:00) [2]

А кто структуру d3dpp до конца заполнять будет???? Пушкин что ли?

---
P.L.U.R. and WBR, NailMan aka 2:5020/3337.13


Yury   (2006-03-03 16:18:00) [3]

Люди, будьте человеками! Кто знает, как решить проблему с Direct3dCreate8,
напишите мне ответ.


Yury   (2006-03-03 16:15:00) [4]

У меня, наверное, та же проблема.
Сбой в Direct3DCreate8. Работает правильно только в Windows XP HE и то не во
вякой версии. По крайней мере проверял на нескольких компах, в том числе и
"работающие" примеры из интернета, но работало только на 3-х компах, на двух стояла моя Windows XP HE. Более того, на компе две ОС: Windows XP HE и Windows 98. В первой работает, а во второй всё тот же криминальный сбой. Так что видео карта тут не причём. Возможно драйверы или что-то Delphi чудит. Не знаю. Написал игру, а распространить не могу - работает только у меня, да у соседа.


Наверх

Титульная страница Поиск, карта сайта Написать письмо