Hi,
ich hab ein Riesenproblem mit der in der Überschrift genannten Funktion. Ich bin echt mit meinem Latein am Ende und hab keine Idee mehr woran es letztendlich scheitert.
Erstmal, ja ich weiß, dass es Beiträge mit diesem Thema gibt allerdings habe ich mir diese Beiträge durchgelesen und bei mir ausprobiert ob das funktioniert.
Hat es aber nicht.
Also bitte, wenn jemand vielleicht weiß worans liegt, wäre ich sehr dankbar!
Hier ist der Codeausschnitt:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
IDirect3DDevice9 * pd3ddevice = NULL;
bool Init(HWND hWnd)
{
IDirect3D9 * pd3d = Direct3DCreate9(D3D_SDK_VERSION);
pd3d->GetAdapterDisplayMode(D3DADAPTER_DEFAULT, &pMode);
Parameters.hDeviceWindow = hWnd;
Parameters.Windowed = true;
Parameters.SwapEffect = D3DSWAPEFFECT_DISCARD;
Parameters.BackBufferCount = 2;
Parameters.BackBufferFormat = pMode.Format;
Parameters.BackBufferHeight = pMode.Height;
Parameters.BackBufferWidth = pMode.Width;
Parameters.EnableAutoDepthStencil = TRUE;
Parameters.AutoDepthStencilFormat = D3DFMT_D16;
Parameters.Flags = D3DPRESENTFLAG_DISCARD_DEPTHSTENCIL;
Parameters.MultiSampleType = D3DMULTISAMPLE_NONE;
HRESULT hr = pd3d->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, NULL, D3DCREATE_HARDWARE_VERTEXPROCESSING, &Parameters, &pd3ddevice);
if (hr != D3D_OK)
{
MessageBox(hWnd, "DirectX konnte nicht erfolgreich initialisiert werden!\nErstellung der Geräteschnittstelle ist fehlgeschlagen: CreateDevice()!", "Fehler!", MB_ICONERROR | MB_OK);
SAFE_RELEASE(pd3d);
return false;
}
return true;
}
|
Wie gesagt das Problem liegt bei der CreateDevice-Funktion, die ja eigentlich das Device erstellen soll, es bei mir allerdings nicht macht.
Auch nach Funktionsaufruf bleibt pd3ddevice 0!
Freu mich über jede Antwort.
LG FMRS