Hey Leute,
wie der Titel schon sagt lässt sich bei mir die D3DCreateDeviceAndSwapChain() im Code nicht ausführen. Ich bekomme weder eine Compiler oder Linker Fehlermeldung das irgendwas nicht passt noch hab ich irgend einen Anhaltspunkt woran das liegen kann. In der Ausführung überspringt das Programm dann einfach die Zeile und wenn ich da einen Haltepunkt hinsetzt sagt er mir das dort kein ausführbarer Code ist. Und im Prinzip ist der Code auch nur aus einem Tutorial kopiert..
Im Internet hab ich leider auch nichts gefunden was mir irgendwie geholfen hat!
Könnt ihr mir da weiterhelfen?
(ps: (vlt hilft das ja weiter, manchmal liegt´s ja nicht nur am code
) ich verwende Visual Studio 2013 C++ und Windows 8.1)
Hier 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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
//---------------------------------------
//header werden natürlich mit eingebunden
#include <windows.h>
#include <windowsx.h>
#include <d3d11.h>
#include <d3dx11.h>
#include <d3dx10.h>
// include the Direct3D Library file
#pragma comment (lib, "D3D11.lib")
#pragma comment (lib, "D3Dx11.lib")
#pragma comment (lib, "D3Dx10.lib")
//--------------------------------------
//...
DXGI_SWAP_CHAIN_DESC scd;
// clear out the struct for use
ZeroMemory(&scd, sizeof(DXGI_SWAP_CHAIN_DESC));
// fill the swap chain description struct
scd.BufferCount = 2; // back buffer
scd.BufferDesc.Format = DXGI_FORMAT_R8G8B8A8_UNORM; // use 32-bit color
scd.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT; // how swap chain is to be used
scd.OutputWindow = WindowHandler; // the window to be used
scd.SampleDesc.Count = 1; // how many multisamples
scd.Windowed = TRUE; // windowed/full-screen mode
if (FAILED(D3D11CreateDeviceAndSwapChain(NULL,
D3D_DRIVER_TYPE_HARDWARE,
NULL,
NULL,
NULL,
NULL,
D3D11_SDK_VERSION,
&scd,
&swapchain,
&dev,
NULL,
&devcon)))
{
MessageBox(WindowHandler, L"Kann DirectX nicht initialisieren!", L"DirectX Error", MB_OK);
initialized = false;
Application::CallCloseRequest();
return -1;
}
else
initialized = true;
//...
|