sharpdx / SharpDX-Samples

Official repository for all SharpDX Samples
349 stars 221 forks source link

DirectWrite + D3D coop #15

Closed QuantumDeveloper closed 10 years ago

QuantumDeveloper commented 10 years ago

Hello, I tried to make coop for DirectWrite with d3d by tutorials, which I found for sharpDX, but as a result I have no text rendered on backbuffer.

Here is my code for initialization:

var _device = (SharpDX.Direct3D11.Device)GraphicsDevice;

                SharpDX.Direct2D1.Device d2dDevice = new SharpDX.Direct2D1.Device(_device.QueryInterface<SharpDX.DXGI.Device2>());
                d2dContext = new SharpDX.Direct2D1.DeviceContext(d2dDevice, SharpDX.Direct2D1.DeviceContextOptions.EnableMultithreadedOptimizations);

                // Specify the properties for the bitmap that we will use as the target of our Direct2D operations.
                // We want a 32-bit BGRA surface with premultiplied alpha.
                BitmapProperties1 properties = new BitmapProperties1(new SharpDX.Direct2D1.PixelFormat(SharpDX.DXGI.Format.B8G8R8A8_UNorm, SharpDX.Direct2D1.AlphaMode.Premultiplied),
                    DisplayProperties.LogicalDpi, DisplayProperties.LogicalDpi, BitmapOptions.Target | BitmapOptions.CannotDraw);

                // Get the default surface as a backbuffer and create the Bitmap1 that will hold the Direct2D drawing target.
                //Surface backBuffer = swapChain.GetBackBuffer<Surface>(0);
                d2dTarget = new Bitmap1(d2dContext, GraphicsDevice.BackBuffer, properties);

                fontFactory = new SharpDX.DirectWrite.Factory();
                textFormat = new TextFormat(fontFactory, "Segoe UI", 24.0f);

                textLayout1 = new TextLayout(fontFactory, "This is an example of a moving TextLayout object with snapped pixel boundaries.", textFormat, 400.0f, 200.0f);
                textBrush = new SolidColorBrush(d2dContext, Color.Black);
                backgroundBrush = new SolidColorBrush(d2dContext, Color.White);
                d2dContext.Target = d2dTarget;

And here is drawing code:

protected override void Draw(GameTime gameTime)
        {
            //Debug.WriteLine("Draw");
            if (_modelLoaded)
            {
                // Clears the screen with the Color.CornflowerBlue
                GraphicsDevice.Clear(Color.CornflowerBlue);
                // Setup the vertices
                GraphicsDevice.SetVertexBuffer(vertices);
                GraphicsDevice.SetIndexBuffer(indices, true);
                GraphicsDevice.SetVertexInputLayout(inputLayout);

                // Apply the basic effect technique and draw the rotating cube
                basicEffect.CurrentTechnique.Passes[0].Apply();
                GraphicsDevice.SetRasterizerState(currentRasterizerState);
                //GraphicsDevice.Draw(PrimitiveType.TriangleList, vertices.ElementCount);
                GraphicsDevice.DrawIndexed(PrimitiveType.TriangleList, indices.ElementCount);

                // Clear the target. 
                d2dContext.BeginDraw();
                //d2dContext.Clear(Color.CornflowerBlue);

                d2dContext.DrawText("Проверка", textFormat, new RectangleF(0, 0, 400, 200), textBrush);

                // Draw a block of text that will be clipped against the specified layout rectangle.
                d2dContext.FillRectangle(new RectangleF(50, 50, 200, 200), backgroundBrush);
                d2dContext.DrawText("This text is long enough to overflow the designed region but will be clipped to the containing rectangle. Lorem ipsum dolor sit amet, consectetur adipiscing elit. ", textFormat, new RectangleF(50, 50, 200, 200), textBrush, DrawTextOptions.Clip);

                // Draw a block of text that will overflow the specified layout rectangle.
                d2dContext.FillRectangle(new RectangleF(50, 300, 200, 200), backgroundBrush);
                d2dContext.DrawText("However, this other text isn't going to be clipped: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean gravida dui id accumsan dictum.", textFormat, new RectangleF(50, 300, 200, 200), textBrush, DrawTextOptions.None);

                // Draw three lines of text with different measuring modes.
                d2dContext.FillRectangle(new RectangleF(300, 50, 400, 200), backgroundBrush);
                d2dContext.DrawText("MeasuringMode: Natural", textFormat, new RectangleF(300, 50, 400, 200), textBrush, DrawTextOptions.None, MeasuringMode.Natural);
                d2dContext.DrawText("MeasuringMode: GDI classic", textFormat, new RectangleF(300, 80, 400, 200), textBrush, DrawTextOptions.None, MeasuringMode.GdiClassic);
                d2dContext.DrawText("MeasuringMode: GDI natural", textFormat, new RectangleF(300, 110, 400, 200), textBrush, DrawTextOptions.None, MeasuringMode.GdiNatural);

                //float layoutYOffset = (float)Math.Cos(layoutY) * 50.0f;

                // Draw moving text.
                d2dContext.FillRectangle(new RectangleF(300, 300, 400, 200), backgroundBrush);
                //d2dContext.DrawTextLayout(new Vector2(300, 350 + layoutYOffset), textLayout1, textBrush);

                // Draw moving text without pixel snapping, thus giving a smoother movement.
                d2dContext.FillRectangle(new RectangleF(750, 300, 400, 200), backgroundBrush);
                //d2dContext.DrawTextLayout(new Vector2(750, 350 + layoutYOffset), textLayout2, textBrush, DrawTextOptions.NoSnap);

                d2dContext.EndDraw();
            }
            // Handle base.Draw
            base.Draw(gameTime);
        }

No text at all. What I am doing wrong here? BTW, no one answer me on this question on gamedev, so I come here to ask you. I tryied to do this as in your tutorials, but seems I missed something important, but I don`t know what exactly.

xoofx commented 10 years ago

Sorry, no time to dig into this, we don't have time to fix particular usage. For Direct2D you will find little help on gamedev, as it is mainly for Direct3D. I suggest you to start from something that is working, and slowly adding things to check what is breaking your rendering.

QuantumDeveloper commented 10 years ago

Could you say at leas, would it work if I set feature level to 11_0 or I need 11_1? In C++ directX I can make it work at feature level 11_0 and I expect that it also will work with RT at 11_0. Am I right?

ArtiomCiumac commented 10 years ago

AFAIK D2D integrates either with D3D 10 OR 11.1, i.e. it will not work on Windows 7 SP1 without installed "Platform Update" which adds partial DX11.1 support. Have a look at this issue: https://github.com/sharpdx/SharpDX/issues/415 - here we have integrated D2D into Toolkit and it was working correctly.

2014-08-04 18:39 GMT+01:00 QuantumDeveloper notifications@github.com:

Could you say at leas, would it work if I set feature level to 11_0 or I need 11_1? In C++ directX I can make it work at feature level 11_0 and I expect that it also will work with RT at 11_0. Am I right?

— Reply to this email directly or view it on GitHub https://github.com/sharpdx/SharpDX-Samples/issues/15#issuecomment-51091859 .

QuantumDeveloper commented 10 years ago

I did exactly as it was in D2DService class, but still I have exception when I call d2dcontext.DrawText(...) method. I cannot understand what is wrong. It MUST work with DirectX11 feature level as it works in C++ WinRT version by default, So I don`t see any reason for crashing at that method.

xoofx commented 10 years ago

So if you have a single DrawText between the begin/draw, it is not working but with a simple rectangle or line it is fine? Have you turn on all debugging facilities (both in Direct3D and "Direct2D Debug Layer") and check them carefully?

QuantumDeveloper commented 10 years ago

No, any method from d2dcontext is not working, except maybe Begin/endDraw(), but in the same time its initialize correctly and without errors. So, I am confused. I turned on debugging, but VS could not say which error happens there, just crashes and that all. If I have fully working DirectWrite + D3D sample in WinRT context, I could find out the reason, but in my case I have nothing to compare.

ArtiomCiumac commented 10 years ago

Did you set the necessary flags on GraphicsDevice? ("BGRASupport?) It is mandatory for D2D to D3D interop.

2014-08-06 8:05 GMT+01:00 QuantumDeveloper notifications@github.com:

No, any method from d2dcontext is not working, except mauve Begin/endDraw(), but in the same time its initialize correctly and without errors. So, I am confused. I turned on debugging, but VS could not say which error happens there, just crashes and that all. If I have fully working DirectWrite + D3D sample in WinRT context, I could find out the reason, but in my case I have nothing to compare.

— Reply to this email directly or view it on GitHub https://github.com/sharpdx/SharpDX-Samples/issues/15#issuecomment-51300631 .

QuantumDeveloper commented 10 years ago

Sure. Earlier I setup working DirectWrite with Direct3D on C++ and I did here the same, but no positive result yet.

xoofx commented 10 years ago

You could put here the output of your VS log? (with turning all debugs on...etc.)

QuantumDeveloper commented 10 years ago

OK, I will do it a bit later because on work I have only Win7 and cannot run my project.

QuantumDeveloper commented 10 years ago

Here is my output from VS as I promised:

'Adamantium engine.exe' (Win32): Loaded 'M:\GameEditor\Adamantium engine\Adamantium engine\Adamantium engine\bin\Debug\AppX\Adamantium engine.exe'. 
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ntdll.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\mscoree.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\kernel32.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\KernelBase.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\advapi32.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msvcrt.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\sechost.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\rpcrt4.dll'. Cannot find or open the PDB file.
SWMON_DLL: f01, 10741688: cs = 0xC0000022
The thread 0x3768 has exited with code 0 (0x0).
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\sspicli.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\cryptbase.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\bcryptprimitives.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\mscoreei.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\shlwapi.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\combase.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\user32.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\gdi32.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\imm32.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msctf.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msvcr120_clr0400.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\kernel.appcore.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\Windows.ApplicationModel.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\WinTypes.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\SHCore.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Unloaded 'C:\Windows\SysWOW64\SHCore.dll'
'Adamantium engine.exe' (Win32): Unloaded 'C:\Windows\SysWOW64\WinTypes.dll'
'Adamantium engine.exe' (Win32): Unloaded 'C:\Windows\SysWOW64\Windows.ApplicationModel.dll'
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ole32.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\assembly\NativeImages_v4.0.30319_32\mscorlib\c90ef9a73ea0044641d31b19023aad61\mscorlib.ni.dll'. 
'Adamantium engine.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_32\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'Adamantium engine.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'M:\GameEditor\Adamantium engine\Adamantium engine\Adamantium engine\bin\Debug\AppX\Adamantium engine.exe'. Symbols loaded.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Runtime\7bf2203bf2d88857c463948cccf6156c\System.Runtime.ni.dll'. 
'Adamantium engine.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Runtime\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Runtime.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\twinapi.appcore.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\WinTypes.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\clrjit.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\oleaut32.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\assembly\NativeImages_v4.0.30319_32\Windows.UI.Xaml\f2bf020fc6307e10194fd94e85d52a72\Windows.UI.Xaml.ni.dll'. 
'Adamantium engine.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\WINDOWS\system32\WinMetadata\Windows.UI.Xaml.winmd'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Runtbff93e24#\1849d6bdd0f61a224d41ac2963221204\System.Runtime.InteropServices.WindowsRuntime.ni.dll'. 
'Adamantium engine.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Runtime.InteropServices.WindowsRuntime\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Runtime.InteropServices.WindowsRuntime.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\Windows.UI.Xaml.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\UIAutomationCore.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ninput.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\wininet.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\d3d11.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\dwmapi.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\uxtheme.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\xmllite.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\shell32.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\urlmon.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\twinapi.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\iertutil.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\userenv.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\dxgi.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\SHCore.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\profapi.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\cryptsp.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\rsaenh.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\bcrypt.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\actxprxy.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\DWrite.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\aticfx32.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\version.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\atiuxpag.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Unloaded 'C:\Windows\SysWOW64\atiuxpag.dll'
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\atiuxpag.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\atidxx32.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\assembly\NativeImages_v4.0.30319_32\Windows.App640a3541#\224ab0385dc2991b9139bdbf7bcf8e0e\Windows.ApplicationModel.ni.dll'. 
'Adamantium engine.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\WINDOWS\system32\WinMetadata\Windows.ApplicationModel.winmd'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\MrmCoreR.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\BCP47Langs.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\d2d1.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\Windows.UI.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\dcomp.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Diagaa8d7fa5#\a374d5cee262e00ef48bb80a46ef261b\System.Diagnostics.Debug.ni.dll'. 
'Adamantium engine.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Diagnostics.Debug\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Diagnostics.Debug.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\assembly\NativeImages_v4.0.30319_32\Windows.Gloaae92e31#\a1306b1fdd9c22508f9e5d901fceb4cd\Windows.Globalization.ni.dll'. 
'Adamantium engine.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\WINDOWS\system32\WinMetadata\Windows.Globalization.winmd'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\Windows.Globalization.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Collections\ebeafb298ff3f25b6291e44deceb1d0c\System.Collections.ni.dll'. 
'Adamantium engine.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Collections\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Collections.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'Adamantium engine.exe' (Win32): Loaded 'D:2\GameEditor\Adamantium engine\Adamantium engine\Adamantium engine\bin\Debug\AppX\SharpDX.Toolkit.Game.dll'. 
'Adamantium engine.exe' (Win32): Loaded 'D:2\GameEditor\Adamantium engine\Adamantium engine\Adamantium engine\bin\Debug\AppX\SharpDX.Toolkit.Game.dll'. 
'Adamantium engine.exe' (Win32): Unloaded 'D:2\GameEditor\Adamantium engine\Adamantium engine\Adamantium engine\bin\Debug\AppX\SharpDX.Toolkit.Game.dll'
'Adamantium engine.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'M:\GameEditor\Adamantium engine\Adamantium engine\Adamantium engine\bin\Debug\AppX\SharpDX.Toolkit.Game.DLL'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'D:2\GameEditor\Adamantium engine\Adamantium engine\Adamantium engine\bin\Debug\AppX\SharpDX.dll'. 
'Adamantium engine.exe' (Win32): Loaded 'D:2\GameEditor\Adamantium engine\Adamantium engine\Adamantium engine\bin\Debug\AppX\SharpDX.dll'. 
'Adamantium engine.exe' (Win32): Unloaded 'D:2\GameEditor\Adamantium engine\Adamantium engine\Adamantium engine\bin\Debug\AppX\SharpDX.dll'
'Adamantium engine.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'M:\GameEditor\Adamantium engine\Adamantium engine\Adamantium engine\bin\Debug\AppX\SharpDX.DLL'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\assembly\NativeImages_v4.0.30319_32\System.ObjectModel\67dd353e70bac0caa6a7dde153081d12\System.ObjectModel.ni.dll'. 
'Adamantium engine.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.ObjectModel\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.ObjectModel.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\assembly\NativeImages_v4.0.30319_32\System\c24d08cc4e93fc4f6f15a637b00a2721\System.ni.dll'. 
'Adamantium engine.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Threading\88c5bb75b5fc29305a51f21d77640cba\System.Threading.ni.dll'. 
'Adamantium engine.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Threading\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Threading.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\assembly\NativeImages_v4.0.30319_32\Windows.UI\c95c4deae76420a882bef7161a449d72\Windows.UI.ni.dll'. 
'Adamantium engine.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\WINDOWS\system32\WinMetadata\Windows.UI.winmd'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\assembly\NativeImages_v4.0.30319_32\Windows.Foundation\cf021988965369c551bb0987fe019862\Windows.Foundation.ni.dll'. 
'Adamantium engine.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\WINDOWS\system32\WinMetadata\Windows.Foundation.winmd'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'Adamantium engine.exe' (Win32): Loaded 'D:2\GameEditor\Adamantium engine\Adamantium engine\Adamantium engine\bin\Debug\AppX\SharpDX.Toolkit.Graphics.dll'. 
'Adamantium engine.exe' (Win32): Loaded 'D:2\GameEditor\Adamantium engine\Adamantium engine\Adamantium engine\bin\Debug\AppX\SharpDX.Toolkit.Graphics.dll'. 
'Adamantium engine.exe' (Win32): Unloaded 'D:2\GameEditor\Adamantium engine\Adamantium engine\Adamantium engine\bin\Debug\AppX\SharpDX.Toolkit.Graphics.dll'
'Adamantium engine.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'M:\GameEditor\Adamantium engine\Adamantium engine\Adamantium engine\bin\Debug\AppX\SharpDX.Toolkit.Graphics.DLL'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'D:2\GameEditor\Adamantium engine\Adamantium engine\Adamantium engine\bin\Debug\AppX\SharpDX.DXGI.dll'. 
'Adamantium engine.exe' (Win32): Loaded 'D:2\GameEditor\Adamantium engine\Adamantium engine\Adamantium engine\bin\Debug\AppX\SharpDX.DXGI.dll'. 
'Adamantium engine.exe' (Win32): Unloaded 'D:2\GameEditor\Adamantium engine\Adamantium engine\Adamantium engine\bin\Debug\AppX\SharpDX.DXGI.dll'
'Adamantium engine.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'M:\GameEditor\Adamantium engine\Adamantium engine\Adamantium engine\bin\Debug\AppX\SharpDX.DXGI.DLL'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'D:2\GameEditor\Adamantium engine\Adamantium engine\Adamantium engine\bin\Debug\AppX\SharpDX.Toolkit.dll'. 
'Adamantium engine.exe' (Win32): Loaded 'D:2\GameEditor\Adamantium engine\Adamantium engine\Adamantium engine\bin\Debug\AppX\SharpDX.Toolkit.dll'. 
'Adamantium engine.exe' (Win32): Unloaded 'D:2\GameEditor\Adamantium engine\Adamantium engine\Adamantium engine\bin\Debug\AppX\SharpDX.Toolkit.dll'
'Adamantium engine.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'M:\GameEditor\Adamantium engine\Adamantium engine\Adamantium engine\bin\Debug\AppX\SharpDX.Toolkit.DLL'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'D:2\GameEditor\Adamantium engine\Adamantium engine\Adamantium engine\bin\Debug\AppX\SharpDX.Direct3D11.dll'. 
'Adamantium engine.exe' (Win32): Loaded 'D:2\GameEditor\Adamantium engine\Adamantium engine\Adamantium engine\bin\Debug\AppX\SharpDX.Direct3D11.dll'. 
'Adamantium engine.exe' (Win32): Unloaded 'D:2\GameEditor\Adamantium engine\Adamantium engine\Adamantium engine\bin\Debug\AppX\SharpDX.Direct3D11.dll'
'Adamantium engine.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'M:\GameEditor\Adamantium engine\Adamantium engine\Adamantium engine\bin\Debug\AppX\SharpDX.Direct3D11.DLL'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Runt1e58aa76#\7ea522010e4f517cf62d62292d3f68b2\System.Runtime.Extensions.ni.dll'. 
'Adamantium engine.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Runtime.Extensions\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Runtime.Extensions.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Comp5f07888e#\a5d7b35f2b58ba9a10ec03c79c497bda\System.ComponentModel.ni.dll'. 
'Adamantium engine.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.ComponentModel\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.ComponentModel.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Reflection\66943ffdb6c6209cf0340c6a256bf169\System.Reflection.ni.dll'. 
'Adamantium engine.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Reflection\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Reflection.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\assembly\NativeImages_v4.0.30319_32\Windows.Storage\f3deb382d1f91df4e2bf1801afb4ea21\Windows.Storage.ni.dll'. 
'Adamantium engine.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\WINDOWS\system32\WinMetadata\Windows.Storage.winmd'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\Windows.ApplicationModel.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\propsys.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Runt9e372c89#\b3ad6730fe2c9bc26d2656994615e29e\System.Runtime.InteropServices.ni.dll'. 
'Adamantium engine.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Runtime.InteropServices\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Runtime.InteropServices.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\assembly\NativeImages_v4.0.30319_32\Windows.Graphics\4e33edd5ee2ee09f751c0071ba0a26c3\Windows.Graphics.ni.dll'. 
'Adamantium engine.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\WINDOWS\system32\WinMetadata\Windows.Graphics.winmd'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
The thread 0x21c4 has exited with code 0 (0x0).
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\d3d10warp.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Unloaded 'C:\Windows\SysWOW64\d3d10warp.dll'
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\dxgidebug.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\d3d11_2sdklayers.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\assembly\NativeImages_v4.0.30319_32\System.IO\232833346ca4e705c2a15dd57af73bac\System.IO.ni.dll'. 
'Adamantium engine.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.IO\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.IO.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Text.Encoding\8b843c36b88d5c581c163a6f26432aa5\System.Text.Encoding.ni.dll'. 
'Adamantium engine.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Text.Encoding\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Text.Encoding.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Refl9c203d4d#\b937d907fc3074ee680d24514c61e37f\System.Reflection.Extensions.ni.dll'. 
'Adamantium engine.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Reflection.Extensions\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Reflection.Extensions.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Globalization\ce0c7f8b567ffa67ee20fc986defe319\System.Globalization.ni.dll'. 
'Adamantium engine.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Globalization\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Globalization.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Runt0d283adf#\32aee6654d81a07e698f9ee18c886a2a\System.Runtime.WindowsRuntime.ni.dll'. 
'Adamantium engine.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Runtime.WindowsRuntime\v4.0_4.0.0.0__b77a5c561934e089\System.Runtime.WindowsRuntime.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Text2f5a8366#\5fe841aca0e2050c16053dc1e744e43b\System.Text.RegularExpressions.ni.dll'. 
'Adamantium engine.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Text.RegularExpressions\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Text.RegularExpressions.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'Adamantium engine.exe' (Win32): Loaded 'D:2\GameEditor\Adamantium engine\Adamantium engine\Adamantium engine\bin\Debug\AppX\SharpDX.Direct2D1.dll'. 
'Adamantium engine.exe' (Win32): Loaded 'D:2\GameEditor\Adamantium engine\Adamantium engine\Adamantium engine\bin\Debug\AppX\SharpDX.Direct2D1.dll'. 
'Adamantium engine.exe' (Win32): Unloaded 'D:2\GameEditor\Adamantium engine\Adamantium engine\Adamantium engine\bin\Debug\AppX\SharpDX.Direct2D1.dll'
'Adamantium engine.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'M:\GameEditor\Adamantium engine\Adamantium engine\Adamantium engine\bin\Debug\AppX\SharpDX.Direct2D1.DLL'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\d2d1debug2.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\Windows.Graphics.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Thre7bb2aad0#\7ab875026ab88e106bf40c8db4f640a1\System.Threading.Tasks.ni.dll'. 
'Adamantium engine.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Threading.Tasks\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Threading.Tasks.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'Adamantium engine.exe' (Win32): Loaded 'D:2\GameEditor\Adamantium engine\Adamantium engine\Adamantium engine\bin\Debug\AppX\Newtonsoft.Json.dll'. 
'Adamantium engine.exe' (Win32): Loaded 'D:2\GameEditor\Adamantium engine\Adamantium engine\Adamantium engine\bin\Debug\AppX\Newtonsoft.Json.dll'. 
'Adamantium engine.exe' (Win32): Unloaded 'D:2\GameEditor\Adamantium engine\Adamantium engine\Adamantium engine\bin\Debug\AppX\Newtonsoft.Json.dll'
'Adamantium engine.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'M:\GameEditor\Adamantium engine\Adamantium engine\Adamantium engine\bin\Debug\AppX\Newtonsoft.Json.DLL'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Runtdf6812ee#\b7c90cd61aa57b4858a896d7e33c30d9\System.Runtime.Serialization.Primitives.ni.dll'. 
'Adamantium engine.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Runtime.Serialization.Primitives\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Runtime.Serialization.Primitives.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Dyna6164b5c9#\0711ae95bec718a6a4e8a007aec63937\System.Dynamic.Runtime.ni.dll'. 
'Adamantium engine.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Dynamic.Runtime\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Dynamic.Runtime.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Core\c1194e56644c7688e7eb0f68a57dcc30\System.Core.ni.dll'. 
'Adamantium engine.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Core\v4.0_4.0.0.0__b77a5c561934e089\System.Core.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Linqbd02a4fb#\1e1404c2b5da3888fe1fb4a82f45c4d7\System.Linq.Expressions.ni.dll'. 
'Adamantium engine.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Linq.Expressions\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Linq.Expressions.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Runtcf595564#\ddd83eb843c6531b608b3303dd9f997d\System.Runtime.Numerics.ni.dll'. 
'Adamantium engine.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Runtime.Numerics\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Runtime.Numerics.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Numerics\8e945b32dd6b4b00c900f6c01c0f3c62\System.Numerics.ni.dll'. 
'Adamantium engine.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Numerics\v4.0_4.0.0.0__b77a5c561934e089\System.Numerics.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Linq\5c5aaf5812afcf70f2136a13213c9d57\System.Linq.ni.dll'. 
'Adamantium engine.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Linq\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Linq.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Runteb92aa12#\183eaaded316165bfbd32a991e4e8c8a\System.Runtime.Serialization.ni.dll'. 
'Adamantium engine.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Runtime.Serialization\v4.0_4.0.0.0__b77a5c561934e089\System.Runtime.Serialization.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Xml.XDocument\7ad708c95cf753ab197ba6e9463eab36\System.Xml.XDocument.ni.dll'. 
'Adamantium engine.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Xml.XDocument\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Xml.XDocument.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Xml.Linq\6f7a4225a199ad7894379512ca6ae50c\System.Xml.Linq.ni.dll'. 
'Adamantium engine.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Xml.Linq\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.Linq.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Xml\77bc1a994f64193efc124c297b93fdb7\System.Xml.ni.dll'. 
'Adamantium engine.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Xml\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\assembly\NativeImages_v4.0.30319_32\Windows.Data\95e459fe3e0f12f2dc9f48fb91886621\Windows.Data.ni.dll'. 
'Adamantium engine.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\WINDOWS\system32\WinMetadata\Windows.Data.winmd'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'Adamantium engine.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'Anonymously Hosted DynamicMethods Assembly'. 
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Colldfb0b5ae#\6f8ded828a8d1b1f4a7976b73cf21573\System.Collections.Concurrent.ni.dll'. 
'Adamantium engine.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Collections.Concurrent\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Collections.Concurrent.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
The thread 0x14e4 has exited with code 0 (0x0).
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\d3d10warp.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Unloaded 'C:\Windows\SysWOW64\d3d10warp.dll'
DXGI ERROR: IDXGISwapChain::ResizeBuffers: Swapchain cannot be resized unless all outstanding buffer references have been released. [ MISCELLANEOUS ERROR #19: ]
The thread 0x29b8 has exited with code 0 (0x0).
'Adamantium engine.exe' (Win32): Loaded 'C:\Windows\SysWOW64\d3d10warp.dll'. Cannot find or open the PDB file.
'Adamantium engine.exe' (Win32): Unloaded 'C:\Windows\SysWOW64\d3d10warp.dll'
The thread 0x412c has exited with code 0 (0x0).
The thread 0x1a8 has exited with code 0 (0x0).
The thread 0x256c has exited with code 0 (0x0).
The thread 0x500 has exited with code 1 (0x1).
The thread 0xfe0 has exited with code 1 (0x1).
The thread 0x2ef0 has exited with code 1 (0x1).
The thread 0x2b4 has exited with code 1 (0x1).
The thread 0x3884 has exited with code 1 (0x1).
The thread 0x3460 has exited with code 1 (0x1).
The thread 0x1540 has exited with code 1 (0x1).
The thread 0xeec has exited with code 1 (0x1).
The thread 0x34d0 has exited with code 1 (0x1).
The thread 0x304c has exited with code 1 (0x1).
The thread 0xa5c has exited with code 1 (0x1).
The thread 0x2cb4 has exited with code 1 (0x1).
The thread 0xa6c has exited with code 1 (0x1).
The thread 0x2e14 has exited with code 1 (0x1).
The thread 0x18e4 has exited with code 1 (0x1).
The thread 0x21b8 has exited with code 1 (0x1).
The thread 0x23d8 has exited with code 1 (0x1).
The thread 0xac8 has exited with code 1 (0x1).
The thread 0x37ac has exited with code 1 (0x1).
The thread 0x3f3c has exited with code 1 (0x1).
QuantumDeveloper commented 10 years ago

And what is trange here that with d2d active in Draw() method I receive exception in following line: GraphicsDevice.SetIndexBuffer(indices, true); D3D11 CORRUPTION: ID3D11DeviceContext::IASetIndexBuffer: First parameter does not match device. [ MISCELLANEOUS CORRUPTION #13: CORRUPTED_PARAMETER1]

If I comment D2D initialization - no error occurred. How its related with d2d I have no idea. Here is my code - https://gist.github.com/c069a7eff4d4c275668c.git

xoofx commented 10 years ago

Sorry, I'm a bit lost in your usecase. Could you recap exactly:

QuantumDeveloper commented 10 years ago

I am testing WinRT on windows 8.1 with SharpDX version 2.6.2 (DirectWrite (D2D) with D3D)

QuantumDeveloper commented 10 years ago

Any news about this? Did you try to reproduce this with my code from gist?

xoofx commented 10 years ago

Sorry too busy at home to follow this closely, but I had just a chance to run it on my computer and it was working fine. I removed all the code relative to the model, as the gist was not providing it. What is your OS/machine specs?

QuantumDeveloper commented 10 years ago

I use windows 8.1 update 1, Phenom II 955, 4GB RAM, ATI Radeon 6870.

I am using SwapchainPanel for output instead of SwapchainBackgroundPanel. as the first control is newer and suggested to used instead of second one.

QuantumDeveloper commented 10 years ago

@xoofx Could you please upload to gist your version of my App (only source code) where DirectWrite is working? I will check it on my PC and we compare 2 identical apps.

xoofx commented 10 years ago

It is nothing more some part of your code commented https://gist.github.com/xoofx/434db79e5ff1d3c1239c

QuantumDeveloper commented 10 years ago

Did you use swapchainpanel or swapchainBACKGROUNDPanel foe this? I just retested one more time and see nothing at all. What is feature level by default created by your graphics device? 11_0 or higher?

xoofx commented 10 years ago

A SwapChainBackgroundPanel, feature 11.0

QuantumDeveloper commented 10 years ago

Could you please try the same with SwapChainPanel?

xoofx commented 10 years ago

It doesn't work because there is an exception in

DXGI ERROR: IDXGISwapChain::ResizeBuffers: Swapchain cannot be resized unless all outstanding buffer references have been released. [ MISCELLANEOUS ERROR #19: ]
A first chance exception of type 'SharpDX.SharpDXException' occurred in SharpDX.DLL

Not related with d2d or dwrite.

Sorry, don't have anymore time to dig into this right now. Will check later next week.

QuantumDeveloper commented 10 years ago

OK, then I think this issue should be reopened and I hope you will solve it next week. You my last hope :)

QuantumDeveloper commented 10 years ago

@xoofx Just tried with swapchainBakcgroundPanel - the same result. I have no idea whats wrong here, but always I receive

DXGI ERROR: IDXGISwapChain::ResizeBuffers: Swapchain cannot be resized unless all outstanding buffer references have been released. [ MISCELLANEOUS ERROR #19: ]
QuantumDeveloper commented 10 years ago

Hello. Could you please say Is there any chance to setup DirectWrite with D3D on SwapChainPanel control? Or I can forget about this feature?

ArtiomCiumac commented 10 years ago

I am working now on a similar task and will have an answer in next few days.

QuantumDeveloper commented 10 years ago

@ArtiomCiumac hello, Could you please say are there any good news about this issue?

ArtiomCiumac commented 10 years ago

Well, I got working SharpDX D3D11 + D2D1 + DirectWrite on a WinRT SwapChainPanel with support for resizing and resource reload. I used SharpDX.Toolkit.Graphics and any dependency assemblies, but without Game - thanks to Toolkit the code is extremely compact. The actual code was written for a closed-source project and I cannot share it as is. Once I will clean it up - I will upload a sample. At this time I can only confirm that D3D11.1 + D2D1 + DirectWrite are working fine on Desktop and WinRT platforms. Basically I just reused my code from the Direct2DService posted in the issue mentioned earlier in this thread.

QuantumDeveloper commented 10 years ago

Did I understand correct? DX 11 (not DX 11.1) + D2D + DWrite is working on SwapchainPanel with resizing support?

ArtiomCiumac commented 10 years ago

No, you didn't. D2D interoperates with D3D11 on DirectX 11.1 systems - this was mentioned a thousand of times before. Windows 8 has support of-of-box for DirectX 11.1 - therefore this support on WinRT platform is implicit and doesn't require further discussions. By support I mean not hardware, but software OS support - regardless of used hardware, it should work at least on WARP or REF graphics devices for Windows 7 SP1 Platform Update and up. Hope it's clear now.

QuantumDeveloper commented 10 years ago

To make it completely clear: If I have graphic card with DX 11 support only, will I be able to run mentioned above feature on Windows 8.1 with SwapchainPanel?

xoofx commented 10 years ago

II is not related to the hardware feature indeed. While my graphics card is a GTX 760, it is not supporting 11.1, but I'm on Windows8.1 where D3D11+D2D11+DWrite is perfectly working with a SwapChainPanel. Only the Toolkit has some bugs with resizes. On W7, D2D1/Dwrite and D3D integration are not well supported and we don't have much doc to explain what exactly is working or not.

QuantumDeveloper commented 10 years ago

Aha, now its more clear. @ArtiomCiumac I hope you can upload small sample describing how to correctly start D3D11 + D2D + DWrite exactly on SwachainPanel?

QuantumDeveloper commented 10 years ago

@ArtiomCiumac Could you please upload your working sample for DWrite + D3D on SwapchainPanel? Please please please.

QuantumDeveloper commented 10 years ago

@ArtiomCiumac please, respond.

ArtiomCiumac commented 10 years ago

I have added the sample in https://github.com/sharpdx/SharpDX-Samples/commit/2289f19d7cc17c2d5bb024048a6f39833ef8abc3.

QuantumDeveloper commented 10 years ago

@ArtiomCiumac Could this example be rewritten for using inside class inheritet from Game with Toolkit or this is the only possible variant for using it?

ArtiomCiumac commented 10 years ago

It can be used inside a Game class too. The Direct2DService in the examples above is designed to work in a Game.

QuantumDeveloper commented 10 years ago

@ArtiomCiumac Thanks for real help. D2D is working now on Backbuffer, but I also would like to learn to draw into texture and then aplly it on d3d object. Would you be so kind to show how to correctly draw d2d content to a 2d texture? Is there any differences there from drawing to backbuffer?

xoofx commented 10 years ago

The sample from @ArtiomCiumac is exactly doing this, rendering to a d3d buffer. There is no difference to render to a back buffer or to render to a custom d3d buffer. At this exact line, instead of taking the backbuffer, create a render target suitable for d2d rendering and use it from there.

QuantumDeveloper commented 10 years ago

@xoofx thanks for hint, but do I need create a new graphics presenter in that case as it is in line 200-201?

QuantumDeveloper commented 10 years ago

@xoofx If I use just texture2d which is suitable for rendering, I receive this error: D2D DEBUG ERROR - The bitmap options [0x5] must be a subset of the flags associated with the DXGI surface. I tired to change Bitmapoptions flag, but this not helped. Maybe I am missing something?

QuantumDeveloper commented 10 years ago

@xoofx @ArtiomCiumac Sorry for asking here, but I completely don`t understand one thing with D2D and presenter.

How I could correctly resize presenter if I have alredy something binding to it? For example D2D.

It is completely impossible for me to do that if D2D already available without recreating presentation instance each time which will lead to out of memory exception if I will do it quickly few times.

At the same time without anyting - just blank app - it resize correctly and without any error.

I did exactly the same as in the sample, but app is crashes just when it reaches _presenter.resize(...) and says that something still binded to backbuffer. But there should be nothing binded already vecause render target is null at that moment and bitmap also null.

And the second strange thing is - why we need to create separate presenter which is exactly the same as already existing in GraphicsDevice to make D2D visible? Without creating separate presenter d2d is not displaying anything and at the same time no errors in logs.

Here https://gist.github.com/469db5ea0270d4524d38.git I upload small class D2DService and very-very small Engine just to demonstrate the issue.

The only difference here that I am using Game class.

I really don`t understand why Presenter does not resize and D2D needs separate presenter which is the same as already created as it just copy inside as reference. Could you please point me where I am wrong in my implementation?

Because I am just going mad with all of these! Please, help if you have time/desire or first and second.

QuantumDeveloper commented 10 years ago

Could someone please answer because I can`t get any answer on other resouces.

xoofx commented 10 years ago

No, because I don't have time and you should obviously take more time to understand how D3D is working. Asking question like "hey I can't render to a texture loaded from the disk" means that you really don't know what you are doing. So take much more time to learn the basis of D3D. Then you should be able to fix your problem easily. Give you a response now would not help you, as you would come up with another question like this a minute after. People don't take the time to respond to you probably for the reason described here. Plus, almost nobody is using D2D for game rendering and anyway, I would not try to use D2D without understanding how D3D is working. So try harder, learn much more about D3D and you will be able to manage things a lot more yourself.

QuantumDeveloper commented 10 years ago

Good answer. Do you know resource or book when I can find answer for my questions with examples? Also your framework is not the same as native DirectX. I know how to render D2D to texture in C++ DirectX but I don`t understand how to do it in your framework. So, maybe you instead of arguing here, you need to create normal documentation with complete examples to your project and this will rid you from a lot of silly questions? Or you create this project only for yourself? Or you forgot how you start learning how D3D is working? If you was born with this knowledge, this is OK in that case.

You spend so much time explaining that you have no time that you already can create a set of normal documentation and complete examples instead.

Thanks for help, guys. Proceed further in the same vein.

xoofx commented 10 years ago

For D3D, plenty, check all around about latest Direct3D11 books, like the one from Frank Luna. For D2D you won't find much resource. You need to leverage on existing Windows SDK samples.

I don't have time to provide documentation for this project because this is almost a direct translation from C++, it is pointless to duplicate the original C++ documentation, and of course, and obviously, a single person could not provide the documentation made by dozens of people full time at Microsoft (and hey, they are paid for this, I'm not).

I'm using SharpDX at work and I'm fine with it. Lots of companies are using it and are fine with it because they know how to use D3D. Most of the people efficient in C++ D3D using SharpDX don't ask me a single question. They will find by themselves.

Hey, by the way, this is an open-source project. If you want to contribute to the documentation, help the project. I have put already thousands of hours in this project. And I have other things to do. So please, understand the situation.

ArtiomCiumac commented 10 years ago

@QuantumDeveloper, you got a project for free with full source code with one of the most liberal licenses (basically "do whatever you want with it") - and now you are complaining that someone doesn't want to do your work for you. Lots of people are using it, they take time to analyze and report real bugs and some of them are even contributing with improvements - how it come that someone owes you something?? Such complaints only demoralize project contributors and don't add any benefit at all - I vote to ban such people.

QuantumDeveloper commented 10 years ago

@xoofx I ask only whose questions which I cant find anywhere in the Net and cant understand by myself. Really, 90% of what I am don`t know, I learn by myself and dont ask anyone, only 10% I ask you or someone else. If books on DirectX give me answers on all my question I will not ask you anything at all or you think Its plesent for me to appeal to you?

I know that this is an ope source project and I could contribute to the documentation, but first I need understand your framework, which is not so obvious on the first look especially on Toolkit level, althought it make thing easier a lot in some cases.

@ArtiomCiumac Again - I don`t want you to do my work, I want you just answer few questiuons as they are not present anywhere and you - creators of that framework and your forum is closed and on other forums noone knows anything about the question, so what do you think I must do? Dig into core of framework and hope that I will find something in thousand of code lines? I also spend a lot of time analyzing your framework - a month already or even more and find out many things. But I think that if you start the project and support it, evolve you take some responcibility for it even if it is open source.

I am not complaining, I just point on the weak places in the project. You can ignore it and ban me, but I sure I am not only one with this issues and this will not solve anything and also don`t make any benefit to project.

So, you need to decide: or you support (at least a little) people who using your framework (good framework I need to mention) or you just leave everything as is and dont improve anything here.