Hi Leute,
ich habe ein ziemlich seltsames Problem. Ich habe ursprünglich mein Fenster und DirectX per Hand initialisiert, jetzt bin ich aber darauf umgestiegen, meine DirectX Anwendung zu einer Engine umzubauen und in einer DLL auszulagern.
Vom Code an sich habe ich rein gar nichts geändert, ich habe diesen nur in einer DLL ausgelagert. Wenn ich diese dann ausführe, werden mir aber Parameter, die ich in der Funktion an sich setze, komplett falsch dargestellt.
Hier der wesentliche Code:
DXGI_SWAP_CHAIN_DESC swapChainDesc;
swapChainDesc.BufferDesc.Width = width,
swapChainDesc.BufferDesc.Height = height;
swapChainDesc.BufferDesc.RefreshRate.Numerator = refreshRate;
swapChainDesc.BufferDesc.RefreshRate.Denominator = 1;
dxErr = D3D11CreateDeviceAndSwapChain(NULL, D3D_DRIVER_TYPE_HARDWARE, NULL, 0, _featureLevel, 5, D3D11_SDK_VERSION, &swapChainDesc, &swapChain, &device, &chosenFeatureLevel, &deviceContext);
if(dxErr != S_OK) throw dxErr;
Ich habe unwesentliche Zeilen ausgelassen; der Fehler liegt hierbei bei swapChainDesc. Initialisiert habe ich die Struktur korrekt mit den Werten [width=800, height=800,Numerator=60].
Jetzt habe ich einfach mal ein Bild gemacht, was aber wirklich beim Compiler ankommt. Man achte auf die Werte.
Woran kann sowas liegen?!