风
风铃夜思雨
Unregistered / Unconfirmed
GUEST, unregistred user!
uses Direct3D8;//用的是DsPack包里面的DirectX8
var
g_PDIRECT3D8: IDIRECT3D8 = Nil;
g_PDIRECT3DDEVICE8: IDIRECT3DDEVICE8 = Nil;
Present_Parameters: D3DPRESENT_PARAMETERS;
Display_Mode: D3DDISPLAYMODE;
begin
g_PDIRECT3D8 := Direct3DCreate8(D3D_SDK_VERSION);
If g_PDIRECT3D8 = Nil Then Exit;
If FAILED(g_PDIRECT3D8.GetAdapterDisplayMode(D3DADAPTER_DEFAULT, Display_Mode)) Then
Begin
MessageBox(MainHwnd, 'GetAdapterDisplayMode失败!', '错误', MB_ICONHAND);
Exit;
End;
Present_Parameters.Windowed := TRUE;
Present_Parameters.BackBufferFormat := Display_Mode.Format;
Present_Parameters.SwapEffect := D3DSWAPEFFECT_DISCARD;
Present_Parameters.AutoDepthStencilFormat := D3DFMT_D16;
Present_Parameters.EnableAutoDepthStencil := TRUE;
If FAILED(g_PDIRECT3D8.CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, MainHwnd,
D3DCREATE_SOFTWARE_VERTEXPROCESSING, Present_Parameters, g_PDIRECT3DDEVICE8)) Then
If FAILED(g_PDIRECT3D8.CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_REF, MainHwnd,
D3DCREATE_SOFTWARE_VERTEXPROCESSING, Present_Parameters, g_PDIRECT3DDEVICE8)) Then
Begin//到这里就不行了。不知什么回事了。。。。。
MessageBox(MainHwnd, 'CreateDevice失败!', '错误', MB_ICONHAND);
Exit;
End;
end;
var
g_PDIRECT3D8: IDIRECT3D8 = Nil;
g_PDIRECT3DDEVICE8: IDIRECT3DDEVICE8 = Nil;
Present_Parameters: D3DPRESENT_PARAMETERS;
Display_Mode: D3DDISPLAYMODE;
begin
g_PDIRECT3D8 := Direct3DCreate8(D3D_SDK_VERSION);
If g_PDIRECT3D8 = Nil Then Exit;
If FAILED(g_PDIRECT3D8.GetAdapterDisplayMode(D3DADAPTER_DEFAULT, Display_Mode)) Then
Begin
MessageBox(MainHwnd, 'GetAdapterDisplayMode失败!', '错误', MB_ICONHAND);
Exit;
End;
Present_Parameters.Windowed := TRUE;
Present_Parameters.BackBufferFormat := Display_Mode.Format;
Present_Parameters.SwapEffect := D3DSWAPEFFECT_DISCARD;
Present_Parameters.AutoDepthStencilFormat := D3DFMT_D16;
Present_Parameters.EnableAutoDepthStencil := TRUE;
If FAILED(g_PDIRECT3D8.CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, MainHwnd,
D3DCREATE_SOFTWARE_VERTEXPROCESSING, Present_Parameters, g_PDIRECT3DDEVICE8)) Then
If FAILED(g_PDIRECT3D8.CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_REF, MainHwnd,
D3DCREATE_SOFTWARE_VERTEXPROCESSING, Present_Parameters, g_PDIRECT3DDEVICE8)) Then
Begin//到这里就不行了。不知什么回事了。。。。。
MessageBox(MainHwnd, 'CreateDevice失败!', '错误', MB_ICONHAND);
Exit;
End;
end;