2016-03-19 7 views
0

i renderSharpDX 2D Fenster Resize

CODE

mSwapChainDesc = new dx.SwapChainDescription() 
{ 
    BufferCount = 1, 
    IsWindowed = true, 
    OutputHandle = Target.Handle, 
    SwapEffect = dx.SwapEffect.Discard, 
    Usage = dx.Usage.RenderTargetOutput | dx.Usage.ShaderInput, 
    Flags = dx.SwapChainFlags.None, 
    ModeDescription = new dx.ModeDescription(Target.ClientSize.Width, Target.ClientSize.Height, dx.Rational.Empty, dx.Format.B8G8R8A8_UNorm), 
    SampleDescription = new dx.SampleDescription(1, 0) 
}; 

d3.Device.CreateWithSwapChain(d3d.DriverType.Hardware, d3.DeviceCreationFlags.BgraSupport, mSwapChainDesc, out mD3Device, out mSwapChain); 
mSurface = dx.Surface.FromSwapChain(mSwapChain, 0); 

Factory = new d2.Factory(); 
DWFactory = new dWrite.Factory(); 
mDevice = new d2.DeviceContext(mSurface); 

mRenderCallback = new dWin.RenderLoop.RenderCallback(Render); 

tryied

mSwapChain.ResizeBuffers(
    mSwapChain.Description.BufferCount, 
    renderSize.Value.Width, 
    renderSize.Value.Height, 
    mSwapChain.Description.ModeDescription.Format, 
    mSwapChain.Description.Flags); 

Fehler

01 Größe verändert werden soll

HRESULT: [0x887A0001], Modul: [SharpDX.DXGI], ApiCode: [DXGI_ERROR_INVALID_CALL/InvalidCall]

Antwort

0

Prüfung die Bemerkungen here on the MSDN.

Wenn das nicht hilft, habe ich gedacht, dass es eine Flagge oder etwas gibt, das Sie benötigen, um die Größenänderungsmethode verwenden zu können. was erklären würde, Ihre hresult

HRESULT: 0x887A0001 : The application provided invalid parameter data; this must be debugged and fixed before the application is released.,

DXGI_ERROR Codes.

Ich denke, die Oberfläche stolpert dich aus. Lassen Sie es los, bevor Sie die Größenänderung aufrufen.