├── .gitattributes ├── DirectX_Renderer - SharpDx ├── obj │ └── Debug │ │ ├── TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs │ │ ├── TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs │ │ ├── TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs │ │ ├── CoreCompileInputs.cache │ │ ├── DirectX_Renderer - SharpDx.exe │ │ ├── DirectX_Renderer - SharpDx.pdb │ │ ├── DirectX_Renderer.Overlay.resources │ │ ├── DirectX_Renderer.Launcher.resources │ │ ├── DesignTimeResolveAssemblyReferences.cache │ │ ├── DirectX_Renderer.Overlay_SharpDX.resources │ │ ├── DirectX_Renderer___SharpDx.Form1.resources │ │ ├── DirectX_Renderer___SharpDx.Overlay.resources │ │ ├── TempPE │ │ └── Properties.Resources.Designer.cs.dll │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ ├── DirectX_Renderer.Properties.Resources.resources │ │ ├── DirectX_Renderer.csproj.GenerateResource.Cache │ │ ├── DirectX_Renderer.Screen_Stream.Screen_Stream.resources │ │ ├── DirectX_Renderer.csprojResolveAssemblyReference.cache │ │ ├── DirectX_Renderer - SharpDx.csproj.GenerateResource.Cache │ │ ├── DirectX_Renderer - SharpDx.csprojResolveAssemblyReference.cache │ │ ├── DirectX_Renderer - SharpDx.csproj.FileListAbsolute.txt │ │ └── DirectX_Renderer.csproj.FileListAbsolute.txt ├── bin │ ├── Debug │ │ ├── SharpDX.dll │ │ ├── SharpDX.DXGI.dll │ │ ├── SharpDX.Desktop.dll │ │ ├── sprite_example.png │ │ ├── SharpDX.Direct2D1.dll │ │ ├── SharpDX.Direct3D11.dll │ │ ├── SharpDX.Mathematics.dll │ │ ├── DirectX_Renderer - SharpDx.exe │ │ ├── DirectX_Renderer - SharpDx.pdb │ │ ├── DirectX_Renderer - SharpDx.exe.config │ │ └── SharpDX.Desktop.xml │ └── Release │ │ └── sprite_example.png ├── App.config ├── packages.config ├── Program.cs ├── Launcher.cs ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ └── Resources.resx ├── External Overlay │ ├── Overlay_SharpDX.Designer.cs │ ├── Overlay_SharpDX.resx │ └── Overlay_SharpDX.cs ├── Launcher.Designer.cs ├── Screen_Stream │ ├── Screen_Stream.cs │ ├── Screen_Stream.resx │ ├── Screen_Stream.Designer.cs │ └── Screen_capture.cs ├── Utilities.cs ├── DirectX_Renderer.csproj └── Launcher.resx ├── _git_images ├── Overlay.png └── Stream_Rd.png ├── .vs └── DirectX_Renderer │ └── v15 │ └── .suo ├── packages ├── SharpDX.4.0.1 │ ├── SharpDX.4.0.1.nupkg │ └── lib │ │ ├── net40 │ │ └── SharpDX.dll │ │ ├── net45 │ │ └── SharpDX.dll │ │ ├── uap10.0 │ │ ├── SharpDX.dll │ │ └── SharpDX.pri │ │ ├── netcoreapp1.0 │ │ └── SharpDX.dll │ │ └── netstandard1.1 │ │ └── SharpDX.dll ├── SharpDX.DXGI.4.0.1 │ ├── SharpDX.DXGI.4.0.1.nupkg │ └── lib │ │ ├── net40 │ │ └── SharpDX.DXGI.dll │ │ ├── net45 │ │ └── SharpDX.DXGI.dll │ │ ├── uap10.0 │ │ ├── SharpDX.DXGI.dll │ │ └── SharpDX.DXGI.pri │ │ ├── netcoreapp1.0 │ │ └── SharpDX.DXGI.dll │ │ └── netstandard1.1 │ │ └── SharpDX.DXGI.dll ├── SharpDX.Desktop.4.0.1 │ ├── SharpDX.Desktop.4.0.1.nupkg │ └── lib │ │ ├── net40 │ │ ├── SharpDX.Desktop.dll │ │ └── SharpDX.Desktop.xml │ │ └── net45 │ │ ├── SharpDX.Desktop.dll │ │ └── SharpDX.Desktop.xml ├── SharpDX.Direct2D1.4.0.1 │ ├── SharpDX.Direct2D1.4.0.1.nupkg │ └── lib │ │ ├── net40 │ │ └── SharpDX.Direct2D1.dll │ │ ├── net45 │ │ └── SharpDX.Direct2D1.dll │ │ ├── uap10.0 │ │ ├── SharpDX.Direct2D1.dll │ │ └── SharpDX.Direct2D1.pri │ │ ├── netcoreapp1.0 │ │ └── SharpDX.Direct2D1.dll │ │ └── netstandard1.1 │ │ └── SharpDX.Direct2D1.dll ├── SharpDX.Direct3D11.4.0.1 │ ├── SharpDX.Direct3D11.4.0.1.nupkg │ └── lib │ │ ├── net40 │ │ └── SharpDX.Direct3D11.dll │ │ ├── net45 │ │ └── SharpDX.Direct3D11.dll │ │ ├── uap10.0 │ │ ├── SharpDX.Direct3D11.dll │ │ └── SharpDX.Direct3D11.pri │ │ ├── netcoreapp1.0 │ │ └── SharpDX.Direct3D11.dll │ │ └── netstandard1.1 │ │ └── SharpDX.Direct3D11.dll └── SharpDX.Mathematics.4.0.1 │ ├── SharpDX.Mathematics.4.0.1.nupkg │ └── lib │ ├── net40 │ └── SharpDX.Mathematics.dll │ ├── net45 │ └── SharpDX.Mathematics.dll │ ├── uap10.0 │ ├── SharpDX.Mathematics.dll │ └── SharpDX.Mathematics.pri │ ├── netcoreapp1.0 │ └── SharpDX.Mathematics.dll │ └── netstandard1.1 │ └── SharpDX.Mathematics.dll ├── DirectX_Renderer.sln ├── LICENSE └── README.md /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto -------------------------------------------------------------------------------- /DirectX_Renderer - SharpDx/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /DirectX_Renderer - SharpDx/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /DirectX_Renderer - SharpDx/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /DirectX_Renderer - SharpDx/obj/Debug/CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | 446ba3c8f2515e844a9402809ee85260b2d1b0ef 2 | -------------------------------------------------------------------------------- /_git_images/Overlay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/_git_images/Overlay.png -------------------------------------------------------------------------------- /_git_images/Stream_Rd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/_git_images/Stream_Rd.png -------------------------------------------------------------------------------- /.vs/DirectX_Renderer/v15/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/.vs/DirectX_Renderer/v15/.suo -------------------------------------------------------------------------------- /packages/SharpDX.4.0.1/SharpDX.4.0.1.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/packages/SharpDX.4.0.1/SharpDX.4.0.1.nupkg -------------------------------------------------------------------------------- /packages/SharpDX.4.0.1/lib/net40/SharpDX.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/packages/SharpDX.4.0.1/lib/net40/SharpDX.dll -------------------------------------------------------------------------------- /packages/SharpDX.4.0.1/lib/net45/SharpDX.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/packages/SharpDX.4.0.1/lib/net45/SharpDX.dll -------------------------------------------------------------------------------- /packages/SharpDX.4.0.1/lib/uap10.0/SharpDX.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/packages/SharpDX.4.0.1/lib/uap10.0/SharpDX.dll -------------------------------------------------------------------------------- /packages/SharpDX.4.0.1/lib/uap10.0/SharpDX.pri: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/packages/SharpDX.4.0.1/lib/uap10.0/SharpDX.pri -------------------------------------------------------------------------------- /DirectX_Renderer - SharpDx/bin/Debug/SharpDX.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/DirectX_Renderer - SharpDx/bin/Debug/SharpDX.dll -------------------------------------------------------------------------------- /DirectX_Renderer - SharpDx/bin/Debug/SharpDX.DXGI.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/DirectX_Renderer - SharpDx/bin/Debug/SharpDX.DXGI.dll -------------------------------------------------------------------------------- /packages/SharpDX.4.0.1/lib/netcoreapp1.0/SharpDX.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/packages/SharpDX.4.0.1/lib/netcoreapp1.0/SharpDX.dll -------------------------------------------------------------------------------- /packages/SharpDX.4.0.1/lib/netstandard1.1/SharpDX.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/packages/SharpDX.4.0.1/lib/netstandard1.1/SharpDX.dll -------------------------------------------------------------------------------- /packages/SharpDX.DXGI.4.0.1/SharpDX.DXGI.4.0.1.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/packages/SharpDX.DXGI.4.0.1/SharpDX.DXGI.4.0.1.nupkg -------------------------------------------------------------------------------- /packages/SharpDX.DXGI.4.0.1/lib/net40/SharpDX.DXGI.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/packages/SharpDX.DXGI.4.0.1/lib/net40/SharpDX.DXGI.dll -------------------------------------------------------------------------------- /packages/SharpDX.DXGI.4.0.1/lib/net45/SharpDX.DXGI.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/packages/SharpDX.DXGI.4.0.1/lib/net45/SharpDX.DXGI.dll -------------------------------------------------------------------------------- /DirectX_Renderer - SharpDx/bin/Debug/SharpDX.Desktop.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/DirectX_Renderer - SharpDx/bin/Debug/SharpDX.Desktop.dll -------------------------------------------------------------------------------- /DirectX_Renderer - SharpDx/bin/Debug/sprite_example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/DirectX_Renderer - SharpDx/bin/Debug/sprite_example.png -------------------------------------------------------------------------------- /packages/SharpDX.DXGI.4.0.1/lib/uap10.0/SharpDX.DXGI.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/packages/SharpDX.DXGI.4.0.1/lib/uap10.0/SharpDX.DXGI.dll -------------------------------------------------------------------------------- /packages/SharpDX.DXGI.4.0.1/lib/uap10.0/SharpDX.DXGI.pri: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/packages/SharpDX.DXGI.4.0.1/lib/uap10.0/SharpDX.DXGI.pri -------------------------------------------------------------------------------- /DirectX_Renderer - SharpDx/bin/Debug/SharpDX.Direct2D1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/DirectX_Renderer - SharpDx/bin/Debug/SharpDX.Direct2D1.dll -------------------------------------------------------------------------------- /DirectX_Renderer - SharpDx/bin/Debug/SharpDX.Direct3D11.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/DirectX_Renderer - SharpDx/bin/Debug/SharpDX.Direct3D11.dll -------------------------------------------------------------------------------- /DirectX_Renderer - SharpDx/bin/Release/sprite_example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/DirectX_Renderer - SharpDx/bin/Release/sprite_example.png -------------------------------------------------------------------------------- /packages/SharpDX.Desktop.4.0.1/SharpDX.Desktop.4.0.1.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/packages/SharpDX.Desktop.4.0.1/SharpDX.Desktop.4.0.1.nupkg -------------------------------------------------------------------------------- /DirectX_Renderer - SharpDx/bin/Debug/SharpDX.Mathematics.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/DirectX_Renderer - SharpDx/bin/Debug/SharpDX.Mathematics.dll -------------------------------------------------------------------------------- /packages/SharpDX.Desktop.4.0.1/lib/net40/SharpDX.Desktop.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/packages/SharpDX.Desktop.4.0.1/lib/net40/SharpDX.Desktop.dll -------------------------------------------------------------------------------- /packages/SharpDX.Desktop.4.0.1/lib/net45/SharpDX.Desktop.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/packages/SharpDX.Desktop.4.0.1/lib/net45/SharpDX.Desktop.dll -------------------------------------------------------------------------------- /packages/SharpDX.DXGI.4.0.1/lib/netcoreapp1.0/SharpDX.DXGI.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/packages/SharpDX.DXGI.4.0.1/lib/netcoreapp1.0/SharpDX.DXGI.dll -------------------------------------------------------------------------------- /packages/SharpDX.DXGI.4.0.1/lib/netstandard1.1/SharpDX.DXGI.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/packages/SharpDX.DXGI.4.0.1/lib/netstandard1.1/SharpDX.DXGI.dll -------------------------------------------------------------------------------- /packages/SharpDX.Direct2D1.4.0.1/SharpDX.Direct2D1.4.0.1.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/packages/SharpDX.Direct2D1.4.0.1/SharpDX.Direct2D1.4.0.1.nupkg -------------------------------------------------------------------------------- /packages/SharpDX.Direct2D1.4.0.1/lib/net40/SharpDX.Direct2D1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/packages/SharpDX.Direct2D1.4.0.1/lib/net40/SharpDX.Direct2D1.dll -------------------------------------------------------------------------------- /packages/SharpDX.Direct2D1.4.0.1/lib/net45/SharpDX.Direct2D1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/packages/SharpDX.Direct2D1.4.0.1/lib/net45/SharpDX.Direct2D1.dll -------------------------------------------------------------------------------- /packages/SharpDX.Direct3D11.4.0.1/SharpDX.Direct3D11.4.0.1.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/packages/SharpDX.Direct3D11.4.0.1/SharpDX.Direct3D11.4.0.1.nupkg -------------------------------------------------------------------------------- /packages/SharpDX.Direct2D1.4.0.1/lib/uap10.0/SharpDX.Direct2D1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/packages/SharpDX.Direct2D1.4.0.1/lib/uap10.0/SharpDX.Direct2D1.dll -------------------------------------------------------------------------------- /packages/SharpDX.Direct2D1.4.0.1/lib/uap10.0/SharpDX.Direct2D1.pri: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/packages/SharpDX.Direct2D1.4.0.1/lib/uap10.0/SharpDX.Direct2D1.pri -------------------------------------------------------------------------------- /packages/SharpDX.Direct3D11.4.0.1/lib/net40/SharpDX.Direct3D11.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/packages/SharpDX.Direct3D11.4.0.1/lib/net40/SharpDX.Direct3D11.dll -------------------------------------------------------------------------------- /packages/SharpDX.Direct3D11.4.0.1/lib/net45/SharpDX.Direct3D11.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/packages/SharpDX.Direct3D11.4.0.1/lib/net45/SharpDX.Direct3D11.dll -------------------------------------------------------------------------------- /packages/SharpDX.Mathematics.4.0.1/SharpDX.Mathematics.4.0.1.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/packages/SharpDX.Mathematics.4.0.1/SharpDX.Mathematics.4.0.1.nupkg -------------------------------------------------------------------------------- /DirectX_Renderer - SharpDx/bin/Debug/DirectX_Renderer - SharpDx.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/DirectX_Renderer - SharpDx/bin/Debug/DirectX_Renderer - SharpDx.exe -------------------------------------------------------------------------------- /DirectX_Renderer - SharpDx/bin/Debug/DirectX_Renderer - SharpDx.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/DirectX_Renderer - SharpDx/bin/Debug/DirectX_Renderer - SharpDx.pdb -------------------------------------------------------------------------------- /DirectX_Renderer - SharpDx/obj/Debug/DirectX_Renderer - SharpDx.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/DirectX_Renderer - SharpDx/obj/Debug/DirectX_Renderer - SharpDx.exe -------------------------------------------------------------------------------- /DirectX_Renderer - SharpDx/obj/Debug/DirectX_Renderer - SharpDx.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/DirectX_Renderer - SharpDx/obj/Debug/DirectX_Renderer - SharpDx.pdb -------------------------------------------------------------------------------- /packages/SharpDX.Direct3D11.4.0.1/lib/uap10.0/SharpDX.Direct3D11.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/packages/SharpDX.Direct3D11.4.0.1/lib/uap10.0/SharpDX.Direct3D11.dll -------------------------------------------------------------------------------- /packages/SharpDX.Direct3D11.4.0.1/lib/uap10.0/SharpDX.Direct3D11.pri: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/packages/SharpDX.Direct3D11.4.0.1/lib/uap10.0/SharpDX.Direct3D11.pri -------------------------------------------------------------------------------- /packages/SharpDX.Mathematics.4.0.1/lib/net40/SharpDX.Mathematics.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/packages/SharpDX.Mathematics.4.0.1/lib/net40/SharpDX.Mathematics.dll -------------------------------------------------------------------------------- /packages/SharpDX.Mathematics.4.0.1/lib/net45/SharpDX.Mathematics.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/packages/SharpDX.Mathematics.4.0.1/lib/net45/SharpDX.Mathematics.dll -------------------------------------------------------------------------------- /DirectX_Renderer - SharpDx/obj/Debug/DirectX_Renderer.Overlay.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/DirectX_Renderer - SharpDx/obj/Debug/DirectX_Renderer.Overlay.resources -------------------------------------------------------------------------------- /packages/SharpDX.Mathematics.4.0.1/lib/uap10.0/SharpDX.Mathematics.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/packages/SharpDX.Mathematics.4.0.1/lib/uap10.0/SharpDX.Mathematics.dll -------------------------------------------------------------------------------- /packages/SharpDX.Mathematics.4.0.1/lib/uap10.0/SharpDX.Mathematics.pri: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/packages/SharpDX.Mathematics.4.0.1/lib/uap10.0/SharpDX.Mathematics.pri -------------------------------------------------------------------------------- /DirectX_Renderer - SharpDx/obj/Debug/DirectX_Renderer.Launcher.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/DirectX_Renderer - SharpDx/obj/Debug/DirectX_Renderer.Launcher.resources -------------------------------------------------------------------------------- /packages/SharpDX.Direct2D1.4.0.1/lib/netcoreapp1.0/SharpDX.Direct2D1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/packages/SharpDX.Direct2D1.4.0.1/lib/netcoreapp1.0/SharpDX.Direct2D1.dll -------------------------------------------------------------------------------- /packages/SharpDX.Direct2D1.4.0.1/lib/netstandard1.1/SharpDX.Direct2D1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/packages/SharpDX.Direct2D1.4.0.1/lib/netstandard1.1/SharpDX.Direct2D1.dll -------------------------------------------------------------------------------- /packages/SharpDX.Direct3D11.4.0.1/lib/netcoreapp1.0/SharpDX.Direct3D11.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/packages/SharpDX.Direct3D11.4.0.1/lib/netcoreapp1.0/SharpDX.Direct3D11.dll -------------------------------------------------------------------------------- /packages/SharpDX.Direct3D11.4.0.1/lib/netstandard1.1/SharpDX.Direct3D11.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/packages/SharpDX.Direct3D11.4.0.1/lib/netstandard1.1/SharpDX.Direct3D11.dll -------------------------------------------------------------------------------- /packages/SharpDX.Mathematics.4.0.1/lib/netcoreapp1.0/SharpDX.Mathematics.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/packages/SharpDX.Mathematics.4.0.1/lib/netcoreapp1.0/SharpDX.Mathematics.dll -------------------------------------------------------------------------------- /DirectX_Renderer - SharpDx/obj/Debug/DesignTimeResolveAssemblyReferences.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/DirectX_Renderer - SharpDx/obj/Debug/DesignTimeResolveAssemblyReferences.cache -------------------------------------------------------------------------------- /DirectX_Renderer - SharpDx/obj/Debug/DirectX_Renderer.Overlay_SharpDX.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/DirectX_Renderer - SharpDx/obj/Debug/DirectX_Renderer.Overlay_SharpDX.resources -------------------------------------------------------------------------------- /DirectX_Renderer - SharpDx/obj/Debug/DirectX_Renderer___SharpDx.Form1.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/DirectX_Renderer - SharpDx/obj/Debug/DirectX_Renderer___SharpDx.Form1.resources -------------------------------------------------------------------------------- /packages/SharpDX.Mathematics.4.0.1/lib/netstandard1.1/SharpDX.Mathematics.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/packages/SharpDX.Mathematics.4.0.1/lib/netstandard1.1/SharpDX.Mathematics.dll -------------------------------------------------------------------------------- /DirectX_Renderer - SharpDx/obj/Debug/DirectX_Renderer___SharpDx.Overlay.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/DirectX_Renderer - SharpDx/obj/Debug/DirectX_Renderer___SharpDx.Overlay.resources -------------------------------------------------------------------------------- /DirectX_Renderer - SharpDx/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/DirectX_Renderer - SharpDx/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll -------------------------------------------------------------------------------- /DirectX_Renderer - SharpDx/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/DirectX_Renderer - SharpDx/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache -------------------------------------------------------------------------------- /DirectX_Renderer - SharpDx/obj/Debug/DirectX_Renderer.Properties.Resources.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/DirectX_Renderer - SharpDx/obj/Debug/DirectX_Renderer.Properties.Resources.resources -------------------------------------------------------------------------------- /DirectX_Renderer - SharpDx/obj/Debug/DirectX_Renderer.csproj.GenerateResource.Cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/DirectX_Renderer - SharpDx/obj/Debug/DirectX_Renderer.csproj.GenerateResource.Cache -------------------------------------------------------------------------------- /DirectX_Renderer - SharpDx/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /DirectX_Renderer - SharpDx/obj/Debug/DirectX_Renderer.Screen_Stream.Screen_Stream.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/DirectX_Renderer - SharpDx/obj/Debug/DirectX_Renderer.Screen_Stream.Screen_Stream.resources -------------------------------------------------------------------------------- /DirectX_Renderer - SharpDx/obj/Debug/DirectX_Renderer.csprojResolveAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/DirectX_Renderer - SharpDx/obj/Debug/DirectX_Renderer.csprojResolveAssemblyReference.cache -------------------------------------------------------------------------------- /DirectX_Renderer - SharpDx/obj/Debug/DirectX_Renderer - SharpDx.csproj.GenerateResource.Cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/DirectX_Renderer - SharpDx/obj/Debug/DirectX_Renderer - SharpDx.csproj.GenerateResource.Cache -------------------------------------------------------------------------------- /DirectX_Renderer - SharpDx/obj/Debug/DirectX_Renderer - SharpDx.csprojResolveAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/HEAD/DirectX_Renderer - SharpDx/obj/Debug/DirectX_Renderer - SharpDx.csprojResolveAssemblyReference.cache -------------------------------------------------------------------------------- /DirectX_Renderer - SharpDx/bin/Debug/DirectX_Renderer - SharpDx.exe.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /DirectX_Renderer - SharpDx/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /DirectX_Renderer - SharpDx/Program.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016-2017 DirectX_Renderer - DoxCode - https://github.com/DoxCode 2 | 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Diagnostics; 6 | using System.Linq; 7 | using System.Text; 8 | using System.Threading.Tasks; 9 | using System.Windows.Forms; 10 | 11 | 12 | namespace DirectX_Renderer 13 | { 14 | class Program 15 | { 16 | static void Main(string[] args) 17 | { 18 | Application.EnableVisualStyles(); 19 | Application.SetCompatibleTextRenderingDefault(false); 20 | Application.Run(new Launcher()); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /DirectX_Renderer.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.26430.15 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DirectX_Renderer", "DirectX_Renderer - SharpDx\DirectX_Renderer.csproj", "{336909FC-C009-4FA8-99DB-ECD354E6138C}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {336909FC-C009-4FA8-99DB-ECD354E6138C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {336909FC-C009-4FA8-99DB-ECD354E6138C}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {336909FC-C009-4FA8-99DB-ECD354E6138C}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {336909FC-C009-4FA8-99DB-ECD354E6138C}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 DoxCode 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /DirectX_Renderer - SharpDx/Launcher.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016-2017 DirectX_Renderer - DoxCode - https://github.com/DoxCode 2 | 3 | using System; 4 | using System.Collections.Generic; 5 | using System.ComponentModel; 6 | using System.Data; 7 | using System.Drawing; 8 | using System.Linq; 9 | using System.Text; 10 | using System.Threading.Tasks; 11 | using System.Windows.Forms; 12 | 13 | namespace DirectX_Renderer 14 | { 15 | public partial class Launcher : Form 16 | { 17 | private Overlay_SharpDX overlayWindow = null; 18 | 19 | public Launcher() 20 | { 21 | InitializeComponent(); 22 | } 23 | 24 | private void overlay_launcher_Click(object sender, EventArgs e) 25 | { 26 | if (overlayWindow != null) 27 | { 28 | overlayWindow.Close(); 29 | overlayWindow = null; 30 | } 31 | else 32 | { 33 | overlayWindow = new Overlay_SharpDX(); 34 | overlayWindow.Show(); 35 | } 36 | 37 | } 38 | 39 | private void btn_screen_stream_Click(object sender, EventArgs e) 40 | { 41 | Screen_Stream.Screen_Stream window = new Screen_Stream.Screen_Stream(); 42 | window.Show(); 43 | 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /DirectX_Renderer - SharpDx/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // La información general de un ensamblado se controla mediante el siguiente 6 | // conjunto de atributos. Cambie estos valores de atributo para modificar la información 7 | // asociada con un ensamblado. 8 | [assembly: AssemblyTitle("DirectX_Renderer - SharpDx")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("DirectX_Renderer - SharpDx")] 13 | [assembly: AssemblyCopyright("Copyright © 2017")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Si establece ComVisible en false, los tipos de este ensamblado no estarán visibles 18 | // para los componentes COM. Si es necesario obtener acceso a un tipo en este ensamblado desde 19 | // COM, establezca el atributo ComVisible en true en este tipo. 20 | [assembly: ComVisible(false)] 21 | 22 | // El siguiente GUID sirve como id. de typelib si este proyecto se expone a COM. 23 | [assembly: Guid("336909fc-c009-4fa8-99db-ecd354e6138c")] 24 | 25 | // La información de versión de un ensamblado consta de los cuatro valores siguientes: 26 | // 27 | // Versión principal 28 | // Versión secundaria 29 | // Número de compilación 30 | // Revisión 31 | // 32 | // Puede especificar todos los valores o utilizar los números de compilación y de revisión predeterminados 33 | // mediante el carácter '*', como se muestra a continuación: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # DirectX Renderer 2 | 3 | ## Introduction 4 | 5 | DirectX Renderer is a series of programs in .NET using SharpDX, wrapper of the DirectX API (native C++), 6 | designed to help with functions like Overlay text non-hooked, quickly image capture and other hooked options. 7 | 8 | ## Overlay (Non-Hooked method) 9 | Some times you might need a method to write over the screen without using hooks, for example to skip a VAC of a game, because hooks may become detectable in the future, so a solution is an external solution. 10 | 11 | How works? 12 | The overlay is a hidden transparent windows renderer on the top, allowing interact with other windows, this form is invisible, don't appear in Alt-tab window or taskbar. You can use a basic windows-form objects or draw direct using DirectX functions. 13 | 14 | Tested on Windows 7 (64bits) / Windows 10 (64 bits) 15 | 16 | Example Overlay Text and Image: 17 | 18 | ![alt text](https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/594b35de2ea95043fd5799809c7e11300f68fae3/_git_images/Overlay.png) 19 | 20 | ## Screen Capture - Stream Screen 21 | Can capture the screen using DirectX technology, this program can render ~70 photos per second (fps) with native quality. 22 | 23 | Very useful for example to processing data stream in the screen, searching patterns, automation, pixelHacking etc... or for desktop recorder programs (I don't recommend this last, I'm sure exist better alternatives). 24 | 25 | In this example the program update the image of a PictureBox to show the average fps and ms that took. 26 | 27 | ![alt text](https://raw.githubusercontent.com/DoxCode/DirectX_Renderer/master/_git_images/Stream_Rd.png) 28 | 29 | ## License 30 | License under MIT License. 31 | 32 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 33 | 34 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 35 | -------------------------------------------------------------------------------- /DirectX_Renderer - SharpDx/obj/Debug/DirectX_Renderer - SharpDx.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | D:\Dox\Creacion\VB\DirectX_Renderer - SharpDx\DirectX_Renderer - SharpDx\bin\Debug\DirectX_Renderer - SharpDx.exe.config 2 | D:\Dox\Creacion\VB\DirectX_Renderer - SharpDx\DirectX_Renderer - SharpDx\bin\Debug\DirectX_Renderer - SharpDx.exe 3 | D:\Dox\Creacion\VB\DirectX_Renderer - SharpDx\DirectX_Renderer - SharpDx\bin\Debug\DirectX_Renderer - SharpDx.pdb 4 | D:\Dox\Creacion\VB\DirectX_Renderer - SharpDx\DirectX_Renderer - SharpDx\bin\Debug\SharpDX.Desktop.dll 5 | D:\Dox\Creacion\VB\DirectX_Renderer - SharpDx\DirectX_Renderer - SharpDx\bin\Debug\SharpDX.Direct2D1.dll 6 | D:\Dox\Creacion\VB\DirectX_Renderer - SharpDx\DirectX_Renderer - SharpDx\bin\Debug\SharpDX.Direct3D11.dll 7 | D:\Dox\Creacion\VB\DirectX_Renderer - SharpDx\DirectX_Renderer - SharpDx\bin\Debug\SharpDX.dll 8 | D:\Dox\Creacion\VB\DirectX_Renderer - SharpDx\DirectX_Renderer - SharpDx\bin\Debug\SharpDX.DXGI.dll 9 | D:\Dox\Creacion\VB\DirectX_Renderer - SharpDx\DirectX_Renderer - SharpDx\bin\Debug\SharpDX.Mathematics.dll 10 | D:\Dox\Creacion\VB\DirectX_Renderer - SharpDx\DirectX_Renderer - SharpDx\bin\Debug\SharpDX.xml 11 | D:\Dox\Creacion\VB\DirectX_Renderer - SharpDx\DirectX_Renderer - SharpDx\bin\Debug\SharpDX.Desktop.xml 12 | D:\Dox\Creacion\VB\DirectX_Renderer - SharpDx\DirectX_Renderer - SharpDx\bin\Debug\SharpDX.Direct2D1.xml 13 | D:\Dox\Creacion\VB\DirectX_Renderer - SharpDx\DirectX_Renderer - SharpDx\bin\Debug\SharpDX.Direct3D11.xml 14 | D:\Dox\Creacion\VB\DirectX_Renderer - SharpDx\DirectX_Renderer - SharpDx\bin\Debug\SharpDX.DXGI.xml 15 | D:\Dox\Creacion\VB\DirectX_Renderer - SharpDx\DirectX_Renderer - SharpDx\bin\Debug\SharpDX.Mathematics.xml 16 | D:\Dox\Creacion\VB\DirectX_Renderer - SharpDx\DirectX_Renderer - SharpDx\obj\Debug\DirectX_Renderer - SharpDx.csprojResolveAssemblyReference.cache 17 | D:\Dox\Creacion\VB\DirectX_Renderer - SharpDx\DirectX_Renderer - SharpDx\obj\Debug\DirectX_Renderer - SharpDx.exe 18 | D:\Dox\Creacion\VB\DirectX_Renderer - SharpDx\DirectX_Renderer - SharpDx\obj\Debug\DirectX_Renderer - SharpDx.pdb 19 | D:\Dox\Creacion\VB\DirectX_Renderer - SharpDx\DirectX_Renderer - SharpDx\obj\Debug\DirectX_Renderer___SharpDx.Overlay.resources 20 | D:\Dox\Creacion\VB\DirectX_Renderer - SharpDx\DirectX_Renderer - SharpDx\obj\Debug\DirectX_Renderer - SharpDx.csproj.GenerateResource.Cache 21 | D:\Dox\Creacion\VB\DirectX_Renderer - SharpDx\DirectX_Renderer - SharpDx\bin\Debug\Microsoft.DirectX.Direct3D.dll 22 | D:\Dox\Creacion\VB\DirectX_Renderer - SharpDx\DirectX_Renderer - SharpDx\bin\Debug\Microsoft.DirectX.dll 23 | D:\Dox\Creacion\VB\DirectX_Renderer - SharpDx\DirectX_Renderer - SharpDx\bin\Debug\Microsoft.DirectX.xml 24 | D:\Dox\Creacion\VB\DirectX_Renderer - SharpDx\DirectX_Renderer - SharpDx\bin\Debug\Microsoft.DirectX.Direct3D.xml 25 | -------------------------------------------------------------------------------- /DirectX_Renderer - SharpDx/External Overlay/Overlay_SharpDX.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace DirectX_Renderer 2 | { 3 | partial class Overlay_SharpDX 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Windows Form Designer generated code 24 | 25 | /// 26 | /// Required method for Designer support - do not modify 27 | /// the contents of this method with the code editor. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | this.label1 = new System.Windows.Forms.Label(); 32 | this.SuspendLayout(); 33 | // 34 | // label1 35 | // 36 | this.label1.AutoSize = true; 37 | this.label1.BackColor = System.Drawing.Color.Transparent; 38 | this.label1.Dock = System.Windows.Forms.DockStyle.Top; 39 | this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); 40 | this.label1.ForeColor = System.Drawing.Color.Yellow; 41 | this.label1.Location = new System.Drawing.Point(0, 0); 42 | this.label1.Name = "label1"; 43 | this.label1.Size = new System.Drawing.Size(487, 24); 44 | this.label1.TabIndex = 0; 45 | this.label1.Text = "Overlay text using a basic label of Windows Form..."; 46 | // 47 | // Overlay_SharpDX 48 | // 49 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; 50 | this.BackColor = System.Drawing.Color.Black; 51 | this.ClientSize = new System.Drawing.Size(820, 425); 52 | this.Controls.Add(this.label1); 53 | this.DoubleBuffered = true; 54 | this.ForeColor = System.Drawing.SystemColors.ControlText; 55 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; 56 | this.Name = "Overlay_SharpDX"; 57 | this.ShowIcon = false; 58 | this.ShowInTaskbar = false; 59 | this.Text = "Overlay"; 60 | this.TopMost = true; 61 | this.TransparencyKey = System.Drawing.Color.Black; 62 | this.WindowState = System.Windows.Forms.FormWindowState.Maximized; 63 | this.Load += new System.EventHandler(this.Overlay_SharpDX_Load); 64 | this.ResumeLayout(false); 65 | this.PerformLayout(); 66 | 67 | } 68 | 69 | #endregion 70 | 71 | private System.Windows.Forms.Label label1; 72 | } 73 | } -------------------------------------------------------------------------------- /DirectX_Renderer - SharpDx/Properties/Resources.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // Este código fue generado por una herramienta. 4 | // Versión de runtime:4.0.30319.42000 5 | // 6 | // Los cambios en este archivo podrían causar un comportamiento incorrecto y se perderán si 7 | // se vuelve a generar el código. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace DirectX_Renderer.Properties { 12 | using System; 13 | 14 | 15 | /// 16 | /// Clase de recurso fuertemente tipado, para buscar cadenas traducidas, etc. 17 | /// 18 | // StronglyTypedResourceBuilder generó automáticamente esta clase 19 | // a través de una herramienta como ResGen o Visual Studio. 20 | // Para agregar o quitar un miembro, edite el archivo .ResX y, a continuación, vuelva a ejecutar ResGen 21 | // con la opción /str o recompile su proyecto de VS. 22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] 23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 25 | internal class Resources { 26 | 27 | private static global::System.Resources.ResourceManager resourceMan; 28 | 29 | private static global::System.Globalization.CultureInfo resourceCulture; 30 | 31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 32 | internal Resources() { 33 | } 34 | 35 | /// 36 | /// Devuelve la instancia de ResourceManager almacenada en caché utilizada por esta clase. 37 | /// 38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 39 | internal static global::System.Resources.ResourceManager ResourceManager { 40 | get { 41 | if (object.ReferenceEquals(resourceMan, null)) { 42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("DirectX_Renderer.Properties.Resources", typeof(Resources).Assembly); 43 | resourceMan = temp; 44 | } 45 | return resourceMan; 46 | } 47 | } 48 | 49 | /// 50 | /// Reemplaza la propiedad CurrentUICulture del subproceso actual para todas las 51 | /// búsquedas de recursos mediante esta clase de recurso fuertemente tipado. 52 | /// 53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 54 | internal static global::System.Globalization.CultureInfo Culture { 55 | get { 56 | return resourceCulture; 57 | } 58 | set { 59 | resourceCulture = value; 60 | } 61 | } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /DirectX_Renderer - SharpDx/Launcher.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace DirectX_Renderer 2 | { 3 | partial class Launcher 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Windows Form Designer generated code 24 | 25 | /// 26 | /// Required method for Designer support - do not modify 27 | /// the contents of this method with the code editor. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | this.overlay_launcher = new System.Windows.Forms.Button(); 32 | this.btn_screen_stream = new System.Windows.Forms.Button(); 33 | this.SuspendLayout(); 34 | // 35 | // overlay_launcher 36 | // 37 | this.overlay_launcher.Location = new System.Drawing.Point(12, 12); 38 | this.overlay_launcher.Name = "overlay_launcher"; 39 | this.overlay_launcher.Size = new System.Drawing.Size(153, 45); 40 | this.overlay_launcher.TabIndex = 0; 41 | this.overlay_launcher.Text = "Overlay Screen SharpDX"; 42 | this.overlay_launcher.UseVisualStyleBackColor = true; 43 | this.overlay_launcher.Click += new System.EventHandler(this.overlay_launcher_Click); 44 | // 45 | // btn_screen_stream 46 | // 47 | this.btn_screen_stream.Location = new System.Drawing.Point(171, 12); 48 | this.btn_screen_stream.Name = "btn_screen_stream"; 49 | this.btn_screen_stream.Size = new System.Drawing.Size(153, 45); 50 | this.btn_screen_stream.TabIndex = 1; 51 | this.btn_screen_stream.Text = "Screen Stream"; 52 | this.btn_screen_stream.UseVisualStyleBackColor = true; 53 | this.btn_screen_stream.Click += new System.EventHandler(this.btn_screen_stream_Click); 54 | // 55 | // Launcher 56 | // 57 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); 58 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 59 | this.ClientSize = new System.Drawing.Size(442, 166); 60 | this.Controls.Add(this.btn_screen_stream); 61 | this.Controls.Add(this.overlay_launcher); 62 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; 63 | this.MaximizeBox = false; 64 | this.MinimizeBox = false; 65 | this.Name = "Launcher"; 66 | this.ShowIcon = false; 67 | this.Text = "Launcher"; 68 | this.ResumeLayout(false); 69 | 70 | } 71 | 72 | #endregion 73 | 74 | private System.Windows.Forms.Button overlay_launcher; 75 | private System.Windows.Forms.Button btn_screen_stream; 76 | } 77 | } -------------------------------------------------------------------------------- /DirectX_Renderer - SharpDx/Screen_Stream/Screen_Stream.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016-2017 DirectX_Renderer - DoxCode - https://github.com/DoxCode 2 | // 3 | // Used as a test. 4 | // 5 | // Update the images captured for Screen_capture in a PictureBox to show the average fps and ms that took. 6 | // 7 | 8 | 9 | using System; 10 | using System.Collections.Generic; 11 | using System.ComponentModel; 12 | using System.Data; 13 | using System.Drawing; 14 | using System.IO; 15 | using System.Linq; 16 | using System.Text; 17 | using System.Threading; 18 | using System.Threading.Tasks; 19 | using System.Windows.Forms; 20 | 21 | namespace DirectX_Renderer.Screen_Stream 22 | { 23 | public partial class Screen_Stream : Form 24 | { 25 | private Screen_capture screen_capture = null; 26 | 27 | public Screen_Stream() 28 | { 29 | InitializeComponent(); 30 | } 31 | 32 | private bool isStreaming = false; 33 | private void btn_stream_Click(object sender, EventArgs e) 34 | { 35 | if(isStreaming) 36 | { 37 | btn_stream.Text = "Stream Desktop"; 38 | 39 | if (screen_capture != null) 40 | { 41 | screen_capture.Stop(); 42 | screen_capture = null; 43 | } 44 | } 45 | else 46 | { 47 | if (screen_capture != null) 48 | return; 49 | 50 | btn_stream.Text = "Stop Stream"; 51 | 52 | screen_capture = new Screen_capture(this); 53 | screen_capture.ScreenRefreshed += (_sender, data) => 54 | { 55 | UpdateFrame(data); 56 | }; 57 | screen_capture.Start(); 58 | 59 | Thread thread = new Thread(() => calculate_average()); 60 | thread.SetApartmentState(ApartmentState.STA); 61 | thread.Start(); 62 | 63 | } 64 | isStreaming = !isStreaming; 65 | } 66 | 67 | public List last_times = new List(); 68 | private void UpdateFrame(Bitmap data) 69 | { 70 | //Ofc, is not optimised. 71 | //Could generate OperationException. 72 | stream_box.Image = data; 73 | } 74 | 75 | /// 76 | /// Calculate the time wasted creating a Bitmap and the number of frames per second. 77 | /// 78 | private void calculate_average() 79 | { 80 | Thread.Sleep(100); 81 | while (isStreaming) 82 | { 83 | Thread.Sleep(500); 84 | try 85 | { 86 | long val = 0; 87 | foreach (long l in last_times) 88 | { 89 | val += l; 90 | } 91 | 92 | val = val / last_times.Count; 93 | long fps = (long)(1000/val) ; 94 | 95 | this.Invoke((MethodInvoker)delegate () 96 | { 97 | _average_label.Text = val.ToString() + " ms"; 98 | _fps_label.Text = fps + " fps"; 99 | }); 100 | 101 | if (last_times.Count > 300) 102 | { 103 | int range = last_times.Count - 300; 104 | last_times.RemoveRange(0, range); 105 | } 106 | } 107 | catch(Exception e) 108 | { } 109 | } 110 | } 111 | 112 | 113 | private void Screen_Stream_FormClosing(object sender, FormClosingEventArgs e) 114 | { 115 | isStreaming = false; 116 | if (screen_capture != null) 117 | { 118 | screen_capture.Stop(); 119 | screen_capture = null; 120 | } 121 | } 122 | } 123 | } 124 | -------------------------------------------------------------------------------- /DirectX_Renderer - SharpDx/Utilities.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016-2017 DirectX_Renderer - DoxCode - https://github.com/DoxCode 2 | // 3 | // 4 | // This program use SHARPDX as wrapper of the DirectX API. 5 | // Used version 4.01, of: 6 | // 7 | // SharpDX, SharpDX.Desktop, SharpDX.Direct2D1, SharpDX.Direct3D11, SharpDX.DXGI, SharpDX.Mathematics 8 | // 9 | // SharpDX is Nugget ready. 10 | // 11 | // Copyright (c) 2010-2013 SharpDX - Alexandre Mutel 12 | // Permission is hereby granted, free of charge, to any person obtaining a copy 13 | // of this software and associated documentation files (the "Software"), to deal 14 | // in the Software without restriction, including without limitation the rights 15 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 16 | // copies of the Software, and to permit persons to whom the Software is 17 | // furnished to do so, subject to the following conditions: 18 | // 19 | // The above copyright notice and this permission notice shall be included in 20 | // all copies or substantial portions of the Software. 21 | // 22 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 23 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 24 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 25 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 26 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 27 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 28 | using SharpDX; 29 | using SharpDX.Direct2D1; 30 | using SharpDX.DXGI; 31 | 32 | using System; 33 | using System.Collections.Generic; 34 | using System.Drawing.Imaging; 35 | //using System.Drawing; 36 | using System.Linq; 37 | using System.Runtime.InteropServices; 38 | using System.Text; 39 | using System.Threading.Tasks; 40 | using System.Windows.Forms; 41 | 42 | namespace DirectX_Renderer 43 | { 44 | class Utilities 45 | { 46 | 47 | public static System.Drawing.Rectangle GetScreen(Control referenceControl) 48 | { 49 | return Screen.FromControl(referenceControl).Bounds; 50 | } 51 | 52 | public static Bitmap LoadFromFile(RenderTarget renderTarget, string file) 53 | { 54 | // Loads from file using System.Drawing.Image 55 | using (var bitmap = (System.Drawing.Bitmap)System.Drawing.Image.FromFile(file)) 56 | { 57 | var sourceArea = new System.Drawing.Rectangle(0, 0, bitmap.Width, bitmap.Height); 58 | var bitmapProperties = new BitmapProperties(new SharpDX.Direct2D1.PixelFormat(Format.R8G8B8A8_UNorm, SharpDX.Direct2D1.AlphaMode.Premultiplied)); 59 | var size = new Size2(bitmap.Width, bitmap.Height); 60 | 61 | // Transform pixels from BGRA to RGBA 62 | int stride = bitmap.Width * sizeof(int); 63 | using (var tempStream = new DataStream(bitmap.Height * stride, true, true)) 64 | { 65 | // Lock System.Drawing.Bitmap 66 | var bitmapData = bitmap.LockBits(sourceArea, ImageLockMode.ReadOnly, System.Drawing.Imaging.PixelFormat.Format32bppPArgb); 67 | 68 | // Convert all pixels 69 | for (int y = 0; y < bitmap.Height; y++) 70 | { 71 | int offset = bitmapData.Stride * y; 72 | for (int x = 0; x < bitmap.Width; x++) 73 | { 74 | // Not optimized 75 | byte B = Marshal.ReadByte(bitmapData.Scan0, offset++); 76 | byte G = Marshal.ReadByte(bitmapData.Scan0, offset++); 77 | byte R = Marshal.ReadByte(bitmapData.Scan0, offset++); 78 | byte A = Marshal.ReadByte(bitmapData.Scan0, offset++); 79 | int rgba = R | (G << 8) | (B << 16) | (A << 24); 80 | tempStream.Write(rgba); 81 | } 82 | 83 | } 84 | bitmap.UnlockBits(bitmapData); 85 | tempStream.Position = 0; 86 | 87 | return new Bitmap(renderTarget, size, tempStream, stride, bitmapProperties); 88 | } 89 | } 90 | } 91 | 92 | } 93 | } 94 | -------------------------------------------------------------------------------- /DirectX_Renderer - SharpDx/obj/Debug/DirectX_Renderer.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | D:\Dox\Creacion\VB\DirectX_Renderer - SharpDx\DirectX_Renderer - SharpDx\obj\Debug\DirectX_Renderer.Overlay.resources 2 | D:\Dox\Creacion\VB\DirectX_Renderer - SharpDx\DirectX_Renderer - SharpDx\obj\Debug\DirectX_Renderer.csproj.GenerateResource.Cache 3 | D:\Dox\Creacion\VB\DirectX_Renderer - SharpDx\DirectX_Renderer - SharpDx\obj\Debug\DirectX_Renderer - SharpDx.exe 4 | D:\Dox\Creacion\VB\DirectX_Renderer - SharpDx\DirectX_Renderer - SharpDx\obj\Debug\DirectX_Renderer - SharpDx.pdb 5 | D:\Dox\Creacion\VB\DirectX_Renderer - SharpDx\DirectX_Renderer - SharpDx\bin\Debug\DirectX_Renderer - SharpDx.exe.config 6 | D:\Dox\Creacion\VB\DirectX_Renderer - SharpDx\DirectX_Renderer - SharpDx\bin\Debug\DirectX_Renderer - SharpDx.exe 7 | D:\Dox\Creacion\VB\DirectX_Renderer - SharpDx\DirectX_Renderer - SharpDx\bin\Debug\DirectX_Renderer - SharpDx.pdb 8 | D:\Dox\Creacion\VB\DirectX_Renderer - SharpDx\DirectX_Renderer - SharpDx\bin\Debug\Microsoft.DirectX.Direct3D.dll 9 | D:\Dox\Creacion\VB\DirectX_Renderer - SharpDx\DirectX_Renderer - SharpDx\bin\Debug\Microsoft.DirectX.dll 10 | D:\Dox\Creacion\VB\DirectX_Renderer - SharpDx\DirectX_Renderer - SharpDx\bin\Debug\SharpDX.Desktop.dll 11 | D:\Dox\Creacion\VB\DirectX_Renderer - SharpDx\DirectX_Renderer - SharpDx\bin\Debug\SharpDX.Direct2D1.dll 12 | D:\Dox\Creacion\VB\DirectX_Renderer - SharpDx\DirectX_Renderer - SharpDx\bin\Debug\SharpDX.Direct3D11.dll 13 | D:\Dox\Creacion\VB\DirectX_Renderer - SharpDx\DirectX_Renderer - SharpDx\bin\Debug\SharpDX.dll 14 | D:\Dox\Creacion\VB\DirectX_Renderer - SharpDx\DirectX_Renderer - SharpDx\bin\Debug\SharpDX.DXGI.dll 15 | D:\Dox\Creacion\VB\DirectX_Renderer - SharpDx\DirectX_Renderer - SharpDx\bin\Debug\SharpDX.Mathematics.dll 16 | D:\Dox\Creacion\VB\DirectX_Renderer - SharpDx\DirectX_Renderer - SharpDx\bin\Debug\Microsoft.DirectX.xml 17 | D:\Dox\Creacion\VB\DirectX_Renderer - SharpDx\DirectX_Renderer - SharpDx\bin\Debug\Microsoft.DirectX.Direct3D.xml 18 | D:\Dox\Creacion\VB\DirectX_Renderer - SharpDx\DirectX_Renderer - SharpDx\bin\Debug\SharpDX.xml 19 | D:\Dox\Creacion\VB\DirectX_Renderer - SharpDx\DirectX_Renderer - SharpDx\bin\Debug\SharpDX.Desktop.xml 20 | D:\Dox\Creacion\VB\DirectX_Renderer - SharpDx\DirectX_Renderer - SharpDx\bin\Debug\SharpDX.Direct2D1.xml 21 | D:\Dox\Creacion\VB\DirectX_Renderer - SharpDx\DirectX_Renderer - SharpDx\bin\Debug\SharpDX.Direct3D11.xml 22 | D:\Dox\Creacion\VB\DirectX_Renderer - SharpDx\DirectX_Renderer - SharpDx\bin\Debug\SharpDX.DXGI.xml 23 | D:\Dox\Creacion\VB\DirectX_Renderer - SharpDx\DirectX_Renderer - SharpDx\bin\Debug\SharpDX.Mathematics.xml 24 | D:\Dox\Creacion\VB\DirectX_Renderer - SharpDx\DirectX_Renderer - SharpDx\obj\Debug\DirectX_Renderer.csprojResolveAssemblyReference.cache 25 | D:\Dox\Creacion\VB\DirectX_Renderer - SharpDx\DirectX_Renderer - SharpDx\obj\Debug\DirectX_Renderer___SharpDx.Form1.resources 26 | D:\Dox\Creacion\VB\DirectX_Renderer\DirectX_Renderer - SharpDx\obj\Debug\DirectX_Renderer.csprojResolveAssemblyReference.cache 27 | D:\Dox\Creacion\VB\DirectX_Renderer\DirectX_Renderer - SharpDx\obj\Debug\DirectX_Renderer.csproj.GenerateResource.Cache 28 | D:\Dox\Creacion\VB\DirectX_Renderer\DirectX_Renderer - SharpDx\obj\Debug\DirectX_Renderer - SharpDx.exe 29 | D:\Dox\Creacion\VB\DirectX_Renderer\DirectX_Renderer - SharpDx\obj\Debug\DirectX_Renderer - SharpDx.pdb 30 | D:\Dox\Creacion\VB\DirectX_Renderer\DirectX_Renderer - SharpDx\bin\Debug\DirectX_Renderer - SharpDx.exe.config 31 | D:\Dox\Creacion\VB\DirectX_Renderer\DirectX_Renderer - SharpDx\bin\Debug\DirectX_Renderer - SharpDx.exe 32 | D:\Dox\Creacion\VB\DirectX_Renderer\DirectX_Renderer - SharpDx\bin\Debug\DirectX_Renderer - SharpDx.pdb 33 | D:\Dox\Creacion\VB\DirectX_Renderer\DirectX_Renderer - SharpDx\bin\Debug\SharpDX.Desktop.dll 34 | D:\Dox\Creacion\VB\DirectX_Renderer\DirectX_Renderer - SharpDx\bin\Debug\SharpDX.Direct2D1.dll 35 | D:\Dox\Creacion\VB\DirectX_Renderer\DirectX_Renderer - SharpDx\bin\Debug\SharpDX.Direct3D11.dll 36 | D:\Dox\Creacion\VB\DirectX_Renderer\DirectX_Renderer - SharpDx\bin\Debug\SharpDX.dll 37 | D:\Dox\Creacion\VB\DirectX_Renderer\DirectX_Renderer - SharpDx\bin\Debug\SharpDX.DXGI.dll 38 | D:\Dox\Creacion\VB\DirectX_Renderer\DirectX_Renderer - SharpDx\bin\Debug\SharpDX.Mathematics.dll 39 | D:\Dox\Creacion\VB\DirectX_Renderer\DirectX_Renderer - SharpDx\bin\Debug\SharpDX.xml 40 | D:\Dox\Creacion\VB\DirectX_Renderer\DirectX_Renderer - SharpDx\bin\Debug\SharpDX.Desktop.xml 41 | D:\Dox\Creacion\VB\DirectX_Renderer\DirectX_Renderer - SharpDx\bin\Debug\SharpDX.Direct2D1.xml 42 | D:\Dox\Creacion\VB\DirectX_Renderer\DirectX_Renderer - SharpDx\bin\Debug\SharpDX.Direct3D11.xml 43 | D:\Dox\Creacion\VB\DirectX_Renderer\DirectX_Renderer - SharpDx\bin\Debug\SharpDX.DXGI.xml 44 | D:\Dox\Creacion\VB\DirectX_Renderer\DirectX_Renderer - SharpDx\bin\Debug\SharpDX.Mathematics.xml 45 | D:\Dox\Creacion\VB\DirectX_Renderer\DirectX_Renderer - SharpDx\obj\Debug\DirectX_Renderer.Launcher.resources 46 | D:\Dox\Creacion\VB\DirectX_Renderer\DirectX_Renderer - SharpDx\obj\Debug\DirectX_Renderer.Overlay_SharpDX.resources 47 | D:\Dox\Creacion\VB\DirectX_Renderer\DirectX_Renderer - SharpDx\obj\Debug\DirectX_Renderer.Properties.Resources.resources 48 | D:\Dox\Creacion\VB\DirectX_Renderer\DirectX_Renderer - SharpDx\obj\Debug\DirectX_Renderer.Screen_Stream.Screen_Stream.resources 49 | -------------------------------------------------------------------------------- /DirectX_Renderer - SharpDx/DirectX_Renderer.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {336909FC-C009-4FA8-99DB-ECD354E6138C} 8 | WinExe 9 | DirectX_Renderer 10 | DirectX_Renderer - SharpDx 11 | v4.5.2 12 | 512 13 | true 14 | 15 | 16 | AnyCPU 17 | true 18 | full 19 | false 20 | bin\Debug\ 21 | DEBUG;TRACE 22 | prompt 23 | 4 24 | 25 | 26 | AnyCPU 27 | pdbonly 28 | true 29 | bin\Release\ 30 | TRACE 31 | prompt 32 | 4 33 | 34 | 35 | DirectX_Renderer.Program 36 | 37 | 38 | 39 | ..\packages\SharpDX.4.0.1\lib\net45\SharpDX.dll 40 | 41 | 42 | ..\packages\SharpDX.Desktop.4.0.1\lib\net45\SharpDX.Desktop.dll 43 | 44 | 45 | ..\packages\SharpDX.Direct2D1.4.0.1\lib\net45\SharpDX.Direct2D1.dll 46 | 47 | 48 | ..\packages\SharpDX.Direct3D11.4.0.1\lib\net45\SharpDX.Direct3D11.dll 49 | 50 | 51 | ..\packages\SharpDX.DXGI.4.0.1\lib\net45\SharpDX.DXGI.dll 52 | 53 | 54 | ..\packages\SharpDX.Mathematics.4.0.1\lib\net45\SharpDX.Mathematics.dll 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | Form 70 | 71 | 72 | Launcher.cs 73 | 74 | 75 | Form 76 | 77 | 78 | Overlay_SharpDX.cs 79 | 80 | 81 | 82 | 83 | True 84 | True 85 | Resources.resx 86 | 87 | 88 | 89 | Form 90 | 91 | 92 | Screen_Stream.cs 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | Launcher.cs 103 | 104 | 105 | Overlay_SharpDX.cs 106 | 107 | 108 | ResXFileCodeGenerator 109 | Resources.Designer.cs 110 | Designer 111 | 112 | 113 | Screen_Stream.cs 114 | 115 | 116 | 117 | 118 | 119 | 120 | -------------------------------------------------------------------------------- /DirectX_Renderer - SharpDx/Launcher.resx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | -------------------------------------------------------------------------------- /DirectX_Renderer - SharpDx/External Overlay/Overlay_SharpDX.resx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | -------------------------------------------------------------------------------- /DirectX_Renderer - SharpDx/Properties/Resources.resx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | 121 | -------------------------------------------------------------------------------- /DirectX_Renderer - SharpDx/Screen_Stream/Screen_Stream.resx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | 121 | 17, 17 122 | 123 | -------------------------------------------------------------------------------- /DirectX_Renderer - SharpDx/Screen_Stream/Screen_Stream.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace DirectX_Renderer.Screen_Stream 2 | { 3 | partial class Screen_Stream 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Windows Form Designer generated code 24 | 25 | /// 26 | /// Required method for Designer support - do not modify 27 | /// the contents of this method with the code editor. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | this.components = new System.ComponentModel.Container(); 32 | this.stream_box = new System.Windows.Forms.PictureBox(); 33 | this.btn_stream = new System.Windows.Forms.Button(); 34 | this.label1 = new System.Windows.Forms.Label(); 35 | this._average_label = new System.Windows.Forms.Label(); 36 | this.timer1 = new System.Windows.Forms.Timer(this.components); 37 | this.panel1 = new System.Windows.Forms.Panel(); 38 | this._fps_label = new System.Windows.Forms.Label(); 39 | ((System.ComponentModel.ISupportInitialize)(this.stream_box)).BeginInit(); 40 | this.panel1.SuspendLayout(); 41 | this.SuspendLayout(); 42 | // 43 | // stream_box 44 | // 45 | this.stream_box.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 46 | | System.Windows.Forms.AnchorStyles.Left) 47 | | System.Windows.Forms.AnchorStyles.Right))); 48 | this.stream_box.BackColor = System.Drawing.SystemColors.ControlDarkDark; 49 | this.stream_box.Location = new System.Drawing.Point(12, 12); 50 | this.stream_box.Name = "stream_box"; 51 | this.stream_box.Size = new System.Drawing.Size(652, 336); 52 | this.stream_box.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; 53 | this.stream_box.TabIndex = 0; 54 | this.stream_box.TabStop = false; 55 | // 56 | // btn_stream 57 | // 58 | this.btn_stream.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); 59 | this.btn_stream.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); 60 | this.btn_stream.Location = new System.Drawing.Point(529, 354); 61 | this.btn_stream.Name = "btn_stream"; 62 | this.btn_stream.Size = new System.Drawing.Size(135, 49); 63 | this.btn_stream.TabIndex = 1; 64 | this.btn_stream.Text = "Stream Desktop"; 65 | this.btn_stream.UseVisualStyleBackColor = true; 66 | this.btn_stream.Click += new System.EventHandler(this.btn_stream_Click); 67 | // 68 | // label1 69 | // 70 | this.label1.AutoSize = true; 71 | this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); 72 | this.label1.Location = new System.Drawing.Point(7, 17); 73 | this.label1.Name = "label1"; 74 | this.label1.Size = new System.Drawing.Size(71, 16); 75 | this.label1.TabIndex = 2; 76 | this.label1.Text = "Average:"; 77 | // 78 | // _average_label 79 | // 80 | this._average_label.AutoSize = true; 81 | this._average_label.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); 82 | this._average_label.ForeColor = System.Drawing.Color.YellowGreen; 83 | this._average_label.Location = new System.Drawing.Point(139, 17); 84 | this._average_label.Name = "_average_label"; 85 | this._average_label.Size = new System.Drawing.Size(48, 16); 86 | this._average_label.TabIndex = 3; 87 | this._average_label.Text = "00 ms"; 88 | // 89 | // panel1 90 | // 91 | this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); 92 | this.panel1.Controls.Add(this._fps_label); 93 | this.panel1.Controls.Add(this._average_label); 94 | this.panel1.Controls.Add(this.label1); 95 | this.panel1.Location = new System.Drawing.Point(12, 354); 96 | this.panel1.Name = "panel1"; 97 | this.panel1.Size = new System.Drawing.Size(266, 48); 98 | this.panel1.TabIndex = 4; 99 | // 100 | // _fps_label 101 | // 102 | this._fps_label.AutoSize = true; 103 | this._fps_label.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); 104 | this._fps_label.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(0)))), ((int)(((byte)(0))))); 105 | this._fps_label.Location = new System.Drawing.Point(84, 17); 106 | this._fps_label.Name = "_fps_label"; 107 | this._fps_label.Size = new System.Drawing.Size(49, 16); 108 | this._fps_label.TabIndex = 4; 109 | this._fps_label.Text = "00 fps"; 110 | // 111 | // Screen_Stream 112 | // 113 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); 114 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 115 | this.ClientSize = new System.Drawing.Size(677, 415); 116 | this.Controls.Add(this.panel1); 117 | this.Controls.Add(this.btn_stream); 118 | this.Controls.Add(this.stream_box); 119 | this.Name = "Screen_Stream"; 120 | this.Text = "Screen_Stream"; 121 | this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Screen_Stream_FormClosing); 122 | ((System.ComponentModel.ISupportInitialize)(this.stream_box)).EndInit(); 123 | this.panel1.ResumeLayout(false); 124 | this.panel1.PerformLayout(); 125 | this.ResumeLayout(false); 126 | 127 | } 128 | 129 | #endregion 130 | 131 | private System.Windows.Forms.PictureBox stream_box; 132 | private System.Windows.Forms.Button btn_stream; 133 | private System.Windows.Forms.Label label1; 134 | private System.Windows.Forms.Label _average_label; 135 | private System.Windows.Forms.Timer timer1; 136 | private System.Windows.Forms.Panel panel1; 137 | private System.Windows.Forms.Label _fps_label; 138 | } 139 | } -------------------------------------------------------------------------------- /DirectX_Renderer - SharpDx/Screen_Stream/Screen_capture.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016-2017 DirectX_Renderer - DoxCode - https://github.com/DoxCode 2 | // 3 | // Screen_capture capture the screen using DirectX technology, this program can render ~70 photos per second (fps) with native quality. 4 | // 5 | // Very useful for example to processing data stream in the screen, 6 | // searching patterns, automation, pixelHacking etc... or for desktop recorder programs (I don't recommend this last, I'm sure exist best alternatives). 7 | // 8 | // Using: 9 | // SharpDX, SharpDX.Direct3D11, SharpDX.DXGI 10 | // 11 | // Copyright (c) 2010-2013 SharpDX - Alexandre Mutel 12 | // Permission is hereby granted, free of charge, to any person obtaining a copy 13 | // of this software and associated documentation files (the "Software"), to deal 14 | // in the Software without restriction, including without limitation the rights 15 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 16 | // copies of the Software, and to permit persons to whom the Software is 17 | // furnished to do so, subject to the following conditions: 18 | // 19 | // The above copyright notice and this permission notice shall be included in 20 | // all copies or substantial portions of the Software. 21 | // 22 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 23 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 24 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 25 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 26 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 27 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 28 | 29 | using SharpDX; 30 | using SharpDX.Direct3D11; 31 | using SharpDX.DXGI; 32 | using System; 33 | using System.Diagnostics; 34 | using System.Drawing; 35 | using System.Drawing.Imaging; 36 | using System.IO; 37 | using System.Threading.Tasks; 38 | 39 | namespace DirectX_Renderer.Screen_Stream 40 | { 41 | public class Screen_capture 42 | { 43 | // private byte[] _previousScreen; // Used to save the last Screen. Not used for now. 44 | private bool _run, _init; 45 | 46 | public static Bitmap bm; 47 | 48 | public int Size { get; private set; } 49 | 50 | 51 | //Form only used to give a reference to calculate the average time. 52 | // You can remove this references if you want. 53 | private Screen_Stream form; 54 | public Screen_capture(Screen_Stream form) 55 | { 56 | this.form = form; 57 | } 58 | 59 | public void Start() 60 | { 61 | _run = true; 62 | var factory = new Factory1(); 63 | var adapter = factory.GetAdapter1(0); 64 | var device = new SharpDX.Direct3D11.Device(adapter); 65 | //Get front buffer of the adapter 66 | var output = adapter.GetOutput(0); 67 | var output1 = output.QueryInterface(); 68 | 69 | // Screen resolution 70 | int width = output.Description.DesktopBounds.Right; 71 | int height = output.Description.DesktopBounds.Bottom; 72 | 73 | // Create Staging texture CPU - accessible 74 | var textureDesc = new Texture2DDescription 75 | { 76 | CpuAccessFlags = CpuAccessFlags.Read, 77 | BindFlags = BindFlags.None, 78 | Format = Format.B8G8R8A8_UNorm, 79 | Width = width, 80 | Height = height, 81 | OptionFlags = ResourceOptionFlags.None, 82 | MipLevels = 1, 83 | ArraySize = 1, 84 | SampleDescription = { Count = 1, Quality = 0 }, 85 | Usage = ResourceUsage.Staging 86 | }; 87 | var screenTexture = new Texture2D(device, textureDesc); 88 | 89 | Task.Factory.StartNew(() => 90 | { 91 | using (var copy_Output = output1.DuplicateOutput(device)) 92 | { 93 | Stopwatch time; // Time counter, you can remove it. 94 | while (_run) 95 | { 96 | time = System.Diagnostics.Stopwatch.StartNew(); 97 | try 98 | { 99 | SharpDX.DXGI.Resource screenResource; 100 | OutputDuplicateFrameInformation copy_FrameInformation; 101 | 102 | copy_Output.AcquireNextFrame(5, out copy_FrameInformation, out screenResource); 103 | 104 | using (var screenTexture2D = screenResource.QueryInterface()) 105 | device.ImmediateContext.CopyResource(screenTexture2D, screenTexture); 106 | 107 | var mapSource = device.ImmediateContext.MapSubresource(screenTexture, 0, MapMode.Read, SharpDX.Direct3D11.MapFlags.None); 108 | 109 | var bitmap = new Bitmap(width, height, PixelFormat.Format32bppArgb); 110 | 111 | var boundsRect = new System.Drawing.Rectangle(0, 0, width, height); 112 | var mapDest = bitmap.LockBits(boundsRect, ImageLockMode.WriteOnly, bitmap.PixelFormat); 113 | var sourcePtr = mapSource.DataPointer; 114 | var destPtr = mapDest.Scan0; 115 | 116 | for (int y = 0; y < height; y++) 117 | { 118 | SharpDX.Utilities.CopyMemory(destPtr, sourcePtr, width * 4); 119 | sourcePtr = IntPtr.Add(sourcePtr, mapSource.RowPitch); 120 | destPtr = IntPtr.Add(destPtr, mapDest.Stride); 121 | } 122 | 123 | // Release source and dest locks 124 | bitmap.UnlockBits(mapDest); 125 | device.ImmediateContext.UnmapSubresource(screenTexture, 0); 126 | 127 | using (var ms = new MemoryStream()) 128 | { 129 | bitmap.Save(ms, ImageFormat.Bmp); 130 | ScreenRefreshed?.Invoke(this, bitmap); 131 | //ScreenRefreshed?.Invoke(this, ms.ToArray()); //To send the image array 132 | _init = true; 133 | } 134 | 135 | screenResource.Dispose(); 136 | copy_Output.ReleaseFrame(); 137 | } 138 | catch (SharpDXException e) 139 | { 140 | // Some graphics cards could spam warnings for this. 141 | if (e.ResultCode.Code != SharpDX.DXGI.ResultCode.WaitTimeout.Result.Code) 142 | { 143 | Trace.TraceError(e.Message); 144 | Trace.TraceError(e.StackTrace); 145 | } 146 | } 147 | 148 | // Time, you can remove too. 149 | // Just add to a List the value of the time wasted to calculate the averrage. 150 | time.Stop(); 151 | form.last_times.Add(time.ElapsedMilliseconds); 152 | 153 | } 154 | } 155 | }); 156 | while (!_init) ; 157 | } 158 | 159 | public void Stop() 160 | { 161 | _run = false; 162 | } 163 | 164 | public EventHandler ScreenRefreshed; 165 | } 166 | } 167 | -------------------------------------------------------------------------------- /DirectX_Renderer - SharpDx/External Overlay/Overlay_SharpDX.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016-2017 DirectX_Renderer - DoxCode - https://github.com/DoxCode 2 | // 3 | // DxRender - xDasEinhorn 4 | // 5 | // The overlay window use SHARPDX as wrapper of the DirectX API. 6 | // Used version 4.01, of: 7 | // 8 | // SharpDX, SharpDX.Desktop, SharpDX.Direct2D1, SharpDX.Direct3D11, SharpDX.DXGI, SharpDX.Mathematics 9 | // 10 | // Copyright (c) 2010-2013 SharpDX - Alexandre Mutel 11 | // Permission is hereby granted, free of charge, to any person obtaining a copy 12 | // of this software and associated documentation files (the "Software"), to deal 13 | // in the Software without restriction, including without limitation the rights 14 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 15 | // copies of the Software, and to permit persons to whom the Software is 16 | // furnished to do so, subject to the following conditions: 17 | // 18 | // The above copyright notice and this permission notice shall be included in 19 | // all copies or substantial portions of the Software. 20 | // 21 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 22 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 23 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 24 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 25 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 26 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 27 | 28 | using System; 29 | using System.Windows.Forms; 30 | using SharpDX.Direct2D1; 31 | using Factory = SharpDX.Direct2D1.Factory; 32 | using FontFactory = SharpDX.DirectWrite.Factory; 33 | using Format = SharpDX.DXGI.Format; 34 | using SharpDX; 35 | using SharpDX.DirectWrite; 36 | using System.Threading; 37 | using System.Runtime.InteropServices; 38 | 39 | 40 | namespace DirectX_Renderer 41 | { 42 | public partial class Overlay_SharpDX : Form 43 | { 44 | private WindowRenderTarget device; 45 | private HwndRenderTargetProperties renderProperties; 46 | private SolidColorBrush solidColorBrush; 47 | private Factory factory; 48 | 49 | //text fonts to test DirectX direct draw text 50 | private TextFormat font; 51 | private FontFactory fontFactory; 52 | private const string fontFamily = "Arial"; 53 | private const float fontSize = 25.0f; 54 | private Bitmap _bitmap; 55 | 56 | private IntPtr handle; 57 | private Thread threadDX = null; 58 | //DllImports 59 | [DllImport("user32.dll")] 60 | public static extern int SetWindowLong(IntPtr hWnd, int nIndex, int dwNewLong); 61 | 62 | [DllImport("user32.dll")] 63 | static extern bool SetLayeredWindowAttributes(IntPtr hwnd, uint crKey, byte bAlpha, uint dwFlags); 64 | 65 | [DllImport("user32.dll", SetLastError = true)] 66 | public static extern int GetWindowLong(IntPtr hWnd, int nIndex); 67 | 68 | [DllImport("user32.dll")] 69 | [return: MarshalAs(UnmanagedType.Bool)] 70 | public static extern bool SetWindowPos(IntPtr hWnd, IntPtr hWndInsertAfter, int X, int Y, int cx, int cy, uint uFlags); 71 | 72 | [DllImport("dwmapi.dll")] 73 | public static extern void DwmExtendFrameIntoClientArea(IntPtr hWnd, ref int[] pMargins); 74 | 75 | [DllImport("user32.dll")] 76 | private static extern IntPtr SetActiveWindow(IntPtr handle); 77 | 78 | //Styles 79 | public const UInt32 SWP_NOSIZE = 0x0001; 80 | public const UInt32 SWP_NOMOVE = 0x0002; 81 | public const UInt32 TOPMOST_FLAGS = SWP_NOMOVE | SWP_NOSIZE; 82 | public static IntPtr HWND_TOPMOST = new IntPtr(-1); 83 | private const int WS_EX_NOACTIVATE = 0x08000000; 84 | private const int WS_EX_TOPMOST = 0x00000008; 85 | private const int WM_ACTIVATE = 6; 86 | private const int WA_INACTIVE = 0; 87 | private const int WM_MOUSEACTIVATE = 0x0021; 88 | private const int MA_NOACTIVATEANDEAT = 0x0004; 89 | 90 | public Overlay_SharpDX() 91 | { 92 | this.handle = Handle; 93 | int initialStyle = GetWindowLong(this.Handle, -20); 94 | SetWindowLong(this.Handle, -20, initialStyle | 0x80000 | 0x20); 95 | SetWindowPos(this.Handle, HWND_TOPMOST, 0, 0, 0, 0, TOPMOST_FLAGS); 96 | OnResize(null); 97 | 98 | InitializeComponent(); 99 | } 100 | 101 | // Remember change the values of the form in the designer. 102 | private void Overlay_SharpDX_Load(object sender, EventArgs e) 103 | { 104 | // You can write your own dimensions of the auto-mode if doesn't work properly. 105 | System.Drawing.Rectangle screen = Utilities.GetScreen(this); 106 | this.Width = screen.Width; 107 | this.Height = screen.Height; 108 | 109 | this.DoubleBuffered = true; // reduce the flicker 110 | this.SetStyle(ControlStyles.OptimizedDoubleBuffer |// reduce the flicker too 111 | ControlStyles.AllPaintingInWmPaint | 112 | ControlStyles.DoubleBuffer | 113 | ControlStyles.UserPaint | 114 | ControlStyles.Opaque | 115 | ControlStyles.ResizeRedraw | 116 | ControlStyles.SupportsTransparentBackColor, true); 117 | this.TopMost = true; 118 | this.Visible = true; 119 | 120 | factory = new Factory(); 121 | fontFactory = new FontFactory(); 122 | renderProperties = new HwndRenderTargetProperties() 123 | { 124 | Hwnd = this.Handle, 125 | PixelSize = new Size2(this.Width, this.Height), 126 | PresentOptions = PresentOptions.None 127 | }; 128 | 129 | //Init DirectX 130 | device = new WindowRenderTarget(factory, new RenderTargetProperties(new PixelFormat(Format.B8G8R8A8_UNorm, AlphaMode.Premultiplied)), renderProperties); 131 | 132 | // if you want use DirectX direct renderer, you can use this brush and fonts. 133 | // of course you can change this as you want. 134 | solidColorBrush = new SolidColorBrush(device, Color.Red); 135 | font = new TextFormat(fontFactory, fontFamily, fontSize); 136 | _bitmap = Utilities.LoadFromFile(device, "sprite_example.png"); 137 | 138 | 139 | threadDX = new Thread(new ParameterizedThreadStart(_loop_DXThread)); 140 | 141 | threadDX.Priority = ThreadPriority.Highest; 142 | threadDX.IsBackground = true; 143 | threadDX.Start(); 144 | } 145 | 146 | protected override void OnPaint(PaintEventArgs e) 147 | { 148 | int[] marg = new int[] { 0, 0, Width, Height }; 149 | DwmExtendFrameIntoClientArea(this.Handle, ref marg); 150 | } 151 | 152 | private void _loop_DXThread(object sender) 153 | { 154 | while (true) 155 | { 156 | device.BeginDraw(); 157 | device.Clear(Color.Transparent); 158 | device.TextAntialiasMode = SharpDX.Direct2D1.TextAntialiasMode.Aliased; 159 | 160 | device.DrawText("Overlay text using direct draw with DirectX", font, new SharpDX.Mathematics.Interop.RawRectangleF(5,100,500,30), solidColorBrush); 161 | 162 | device.DrawBitmap(_bitmap, 1, BitmapInterpolationMode.Linear, new SharpDX.Mathematics.Interop.RawRectangleF(600, 400, 0, 0)); 163 | //place your rendering things here 164 | 165 | device.EndDraw(); 166 | } 167 | } 168 | 169 | /// 170 | /// Used to not show up the form in alt-tab window. 171 | /// Tested on Windows 7 - 64bit and Windows 10 64bit 172 | /// 173 | protected override CreateParams CreateParams 174 | { 175 | get 176 | { 177 | CreateParams pm = base.CreateParams; 178 | pm.ExStyle |= 0x80; 179 | pm.ExStyle |= WS_EX_TOPMOST; // make the form topmost 180 | pm.ExStyle |= WS_EX_NOACTIVATE; // prevent the form from being activated 181 | return pm; 182 | } 183 | } 184 | 185 | /// 186 | /// Makes the form unable to gain focus at all time, 187 | /// which should prevent lose focus 188 | /// 189 | protected override void WndProc(ref Message m) 190 | { 191 | if (m.Msg == WM_MOUSEACTIVATE) 192 | { 193 | m.Result = (IntPtr)MA_NOACTIVATEANDEAT; 194 | return; 195 | } 196 | if (m.Msg == WM_ACTIVATE) 197 | { 198 | if (((int)m.WParam & 0xFFFF) != WA_INACTIVE) 199 | if (m.LParam != IntPtr.Zero) 200 | SetActiveWindow(m.LParam); 201 | else 202 | SetActiveWindow(IntPtr.Zero); 203 | } 204 | else 205 | { 206 | base.WndProc(ref m); 207 | } 208 | } 209 | 210 | } 211 | } 212 | -------------------------------------------------------------------------------- /DirectX_Renderer - SharpDx/bin/Debug/SharpDX.Desktop.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | SharpDX.Desktop 5 | 6 | 7 | 8 | 9 | Helper class to allow programmatic capturing of graphics information that can be loaded later in Visual Studio. 10 | This is a managed implementation of the VsDbg class (http://msdn.microsoft.com/en-us/library/vstudio/dn440549.aspx). 11 | Requires to have installed VS Remote Tools. 12 | http://msdn.microsoft.com/en-us/library/vstudio/hh708963.aspx 13 | http://msdn.microsoft.com/en-us/library/vstudio/hh780905.aspx 14 | 15 | 16 | 17 | 18 | Helper structure to ease the begin/end graphics capturing 19 | 20 | 21 | var debugger = new VSGraphicsDebugger(); 22 | using(debugger.BeginCapture()) 23 | { 24 | ... 25 | } 26 | 27 | 28 | 29 | 30 | Creates a new instance of the structure. 31 | 32 | The attanched graphics debugger. 33 | 34 | 35 | 36 | Ends the capture by calling . 37 | 38 | 39 | 40 | 41 | Creates a new instance of the class and prepares the in-app component of graphics diagnostics to actively capture and record graphics information.. 42 | 43 | The destination filename for log writing. 44 | 45 | 46 | 47 | Copies the contents of the active graphics log (.vsglog) file into a new file. 48 | 49 | The new log file name. 50 | 51 | 52 | 53 | Toggles the graphics diagnostics HUD overlay on or off. 54 | 55 | 56 | 57 | 58 | Adds a custom message to the graphics diagnostics HUD (Head-Up Display). 59 | 60 | The message to add. 61 | 62 | 63 | 64 | Captures the remainder of the current frame to the graphics log file. 65 | 66 | 67 | 68 | 69 | Begins a capture interval that will end with . 70 | 71 | A instance that once disposed, calls automatically the method. 72 | 73 | 74 | 75 | Ends a capture interval that was started with . 76 | 77 | 78 | 79 | 80 | Finalizes the graphics log file, closes it, and frees resources that were used while the app was actively recording graphics information. 81 | 82 | Ignored. 83 | 84 | 85 | 86 | Helper class for PIX. 87 | 88 | 89 | 90 | 91 | Marks the beginning of a user-defined event. PIX can use this event to trigger an action. 92 | 93 | The Event color. 94 | The Event Name. 95 | The zero-based level of the hierarchy that this event is starting in. If an error occurs, the return value will be negative. 96 | D3DPERF_BeginEvent 97 | 98 | 99 | 100 | Marks the beginning of a user-defined event. PIX can use this event to trigger an action. 101 | 102 | The Event color. 103 | The Event formatted Name. 104 | The parameters to use for the formatted name. 105 | 106 | The zero-based level of the hierarchy that this event is starting in. If an error occurs, the return value will be negative. 107 | 108 | D3DPERF_BeginEvent 109 | 110 | 111 | 112 | Mark the end of a user-defined event. PIX can use this event to trigger an action. 113 | 114 | The level of the hierarchy in which the event is ending. If an error occurs, this value is negative. 115 | D3DPERF_EndEvent 116 | 117 | 118 | 119 | Mark an instantaneous event. PIX can use this event to trigger an action. 120 | 121 | The color. 122 | The name. 123 | D3DPERF_SetMarker 124 | 125 | 126 | 127 | Mark an instantaneous event. PIX can use this event to trigger an action. 128 | 129 | The color. 130 | The name to format. 131 | The parameters to use to format the name. 132 | D3DPERF_SetMarker 133 | 134 | 135 | 136 | Set this to false to notify PIX that the target program does not give permission to be profiled. 137 | 138 | if set to true PIX profiling is authorized. Default to true. 139 | D3DPERF_SetOptions 140 | 141 | 142 | 143 | Gets a value indicating whether this instance is currently profiled by PIX. 144 | 145 | 146 | true if this instance is currently profiled; otherwise, false. 147 | 148 | D3DPERF_GetStatus 149 | 150 | 151 | 152 | Provides a hook to WndProc of an existing window handle using . 153 | 154 | 155 | 156 | 157 | Initializes a new instance of the class. 158 | 159 | The HWND. 160 | 161 | 162 | 163 | Adds a message filter to a window. 164 | 165 | The handle of the window. 166 | The message filter. 167 | 168 | 169 | 170 | Removes a message filter associated with a window. 171 | 172 | The handle of the window. 173 | The message filter. 174 | 175 | 176 | 177 | A strongly-typed resource class, for looking up localized strings, etc. 178 | 179 | 180 | 181 | 182 | Returns the cached ResourceManager instance used by this class. 183 | 184 | 185 | 186 | 187 | Overrides the current thread's CurrentUICulture property for all 188 | resource lookups using this strongly typed resource class. 189 | 190 | 191 | 192 | 193 | Looks up a localized resource of type System.Drawing.Icon similar to (Icon). 194 | 195 | 196 | 197 | 198 | A Renderable UserControl. 199 | 200 | 201 | 202 | 203 | Initializes a new instance of the class. 204 | 205 | 206 | 207 | 208 | Paints the background of the control. 209 | 210 | A that contains the event data. 211 | 212 | 213 | 214 | Raises the event. 215 | 216 | A that contains the event data. 217 | 218 | 219 | 220 | Default Rendering Form. 221 | 222 | 223 | 224 | 225 | Initializes a new instance of the class. 226 | 227 | 228 | 229 | 230 | Initializes a new instance of the class. 231 | 232 | The text. 233 | 234 | 235 | 236 | Occurs when [app activated]. 237 | 238 | 239 | 240 | 241 | Occurs when [app deactivated]. 242 | 243 | 244 | 245 | 246 | Occurs when [monitor changed]. 247 | 248 | 249 | 250 | 251 | Occurs when [pause rendering]. 252 | 253 | 254 | 255 | 256 | Occurs when [resume rendering]. 257 | 258 | 259 | 260 | 261 | Occurs when [screensaver]. 262 | 263 | 264 | 265 | 266 | Occurs when [system resume]. 267 | 268 | 269 | 270 | 271 | Occurs when [system suspend]. 272 | 273 | 274 | 275 | 276 | Occurs when [user resized]. 277 | 278 | 279 | 280 | 281 | Gets or sets a value indicating whether this form can be resized by the user. See remarks. 282 | 283 | 284 | This property alters , 285 | for true value it is , 286 | for false - . 287 | 288 | true if this form can be resized by the user (by default); otherwise, false. 289 | 290 | 291 | 292 | Gets or sets a value indicationg whether the current render form is in fullscreen mode. See remarks. 293 | 294 | 295 | If Toolkit is used, this property is set automatically, 296 | otherwise user should maintain it himself as it affects the behavior of property. 297 | 298 | 299 | 300 | 301 | Raises the event. 302 | 303 | A that contains the event data. 304 | 305 | 306 | 307 | Raises the event. 308 | 309 | A that contains the event data. 310 | 311 | 312 | 313 | Raises the event. 314 | 315 | An that contains the event data. 316 | 317 | 318 | 319 | Paints the background of the control. 320 | 321 | A that contains the event data. 322 | 323 | 324 | 325 | Raises the Pause Rendering event. 326 | 327 | The instance containing the event data. 328 | 329 | 330 | 331 | Raises the Resume Rendering event. 332 | 333 | The instance containing the event data. 334 | 335 | 336 | 337 | Raises the User resized event. 338 | 339 | The instance containing the event data. 340 | 341 | 342 | 343 | Raises the On App Activated event. 344 | 345 | The instance containing the event data. 346 | 347 | 348 | 349 | Raises the App Deactivated event 350 | 351 | The instance containing the event data. 352 | 353 | 354 | 355 | Raises the System Suspend event 356 | 357 | The instance containing the event data. 358 | 359 | 360 | 361 | Raises the System Resume event 362 | 363 | The instance containing the event data. 364 | 365 | 366 | 367 | Raises the event. 368 | 369 | The instance containing the event data. 370 | 371 | 372 | 373 | Override windows message loop handling. 374 | 375 | The Windows to process. 376 | 377 | 378 | 379 | RenderLoop provides a rendering loop infrastructure. See remarks for usage. 380 | 381 | 382 | Use static 383 | method to directly use a renderloop with a render callback or use your own loop: 384 | 385 | control.Show(); 386 | using (var loop = new RenderLoop(control)) 387 | { 388 | while (loop.NextFrame()) 389 | { 390 | // Perform draw operations here. 391 | } 392 | } 393 | 394 | Note that the main control can be changed at anytime inside the loop. 395 | 396 | 397 | 398 | 399 | Initializes a new instance of the class. 400 | 401 | 402 | 403 | 404 | Initializes a new instance of the class. 405 | 406 | 407 | 408 | 409 | Gets or sets the control to associate with the current render loop. 410 | 411 | The control. 412 | Control is already disposed 413 | 414 | 415 | 416 | Gets or sets a value indicating whether the render loop should use the default instead of a custom window message loop lightweight for GC. Default is false. 417 | 418 | true if the render loop should use the default instead of a custom window message loop (default false); otherwise, false. 419 | By default, RenderLoop is using a custom window message loop that is more lightweight than to process windows event message. 420 | Set this parameter to true to use the default . 421 | 422 | 423 | 424 | Calls this method on each frame. 425 | 426 | true if if the control is still active, false otherwise. 427 | An error occured 428 | 429 | 430 | 431 | Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. 432 | 433 | 434 | 435 | 436 | Delegate for the rendering loop. 437 | 438 | 439 | 440 | 441 | Runs the specified main loop in the specified context. 442 | 443 | 444 | 445 | 446 | Runs the specified main loop for the specified windows form. 447 | 448 | The form. 449 | The rendering callback. 450 | if set to true indicating whether the render loop should use the default instead of a custom window message loop lightweight for GC. Default is false. 451 | form 452 | or 453 | renderCallback 454 | 455 | 456 | 457 | Gets a value indicating whether this instance is application idle. 458 | 459 | 460 | true if this instance is application idle; otherwise, false. 461 | 462 | 463 | 464 | 465 | Internal class to interact with Native Message 466 | 467 | 468 | 469 | 470 | -------------------------------------------------------------------------------- /packages/SharpDX.Desktop.4.0.1/lib/net40/SharpDX.Desktop.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | SharpDX.Desktop 5 | 6 | 7 | 8 | 9 | Helper class to allow programmatic capturing of graphics information that can be loaded later in Visual Studio. 10 | This is a managed implementation of the VsDbg class (http://msdn.microsoft.com/en-us/library/vstudio/dn440549.aspx). 11 | Requires to have installed VS Remote Tools. 12 | http://msdn.microsoft.com/en-us/library/vstudio/hh708963.aspx 13 | http://msdn.microsoft.com/en-us/library/vstudio/hh780905.aspx 14 | 15 | 16 | 17 | 18 | Helper structure to ease the begin/end graphics capturing 19 | 20 | 21 | var debugger = new VSGraphicsDebugger(); 22 | using(debugger.BeginCapture()) 23 | { 24 | ... 25 | } 26 | 27 | 28 | 29 | 30 | Creates a new instance of the structure. 31 | 32 | The attanched graphics debugger. 33 | 34 | 35 | 36 | Ends the capture by calling . 37 | 38 | 39 | 40 | 41 | Creates a new instance of the class and prepares the in-app component of graphics diagnostics to actively capture and record graphics information.. 42 | 43 | The destination filename for log writing. 44 | 45 | 46 | 47 | Copies the contents of the active graphics log (.vsglog) file into a new file. 48 | 49 | The new log file name. 50 | 51 | 52 | 53 | Toggles the graphics diagnostics HUD overlay on or off. 54 | 55 | 56 | 57 | 58 | Adds a custom message to the graphics diagnostics HUD (Head-Up Display). 59 | 60 | The message to add. 61 | 62 | 63 | 64 | Captures the remainder of the current frame to the graphics log file. 65 | 66 | 67 | 68 | 69 | Begins a capture interval that will end with . 70 | 71 | A instance that once disposed, calls automatically the method. 72 | 73 | 74 | 75 | Ends a capture interval that was started with . 76 | 77 | 78 | 79 | 80 | Finalizes the graphics log file, closes it, and frees resources that were used while the app was actively recording graphics information. 81 | 82 | Ignored. 83 | 84 | 85 | 86 | Helper class for PIX. 87 | 88 | 89 | 90 | 91 | Marks the beginning of a user-defined event. PIX can use this event to trigger an action. 92 | 93 | The Event color. 94 | The Event Name. 95 | The zero-based level of the hierarchy that this event is starting in. If an error occurs, the return value will be negative. 96 | D3DPERF_BeginEvent 97 | 98 | 99 | 100 | Marks the beginning of a user-defined event. PIX can use this event to trigger an action. 101 | 102 | The Event color. 103 | The Event formatted Name. 104 | The parameters to use for the formatted name. 105 | 106 | The zero-based level of the hierarchy that this event is starting in. If an error occurs, the return value will be negative. 107 | 108 | D3DPERF_BeginEvent 109 | 110 | 111 | 112 | Mark the end of a user-defined event. PIX can use this event to trigger an action. 113 | 114 | The level of the hierarchy in which the event is ending. If an error occurs, this value is negative. 115 | D3DPERF_EndEvent 116 | 117 | 118 | 119 | Mark an instantaneous event. PIX can use this event to trigger an action. 120 | 121 | The color. 122 | The name. 123 | D3DPERF_SetMarker 124 | 125 | 126 | 127 | Mark an instantaneous event. PIX can use this event to trigger an action. 128 | 129 | The color. 130 | The name to format. 131 | The parameters to use to format the name. 132 | D3DPERF_SetMarker 133 | 134 | 135 | 136 | Set this to false to notify PIX that the target program does not give permission to be profiled. 137 | 138 | if set to true PIX profiling is authorized. Default to true. 139 | D3DPERF_SetOptions 140 | 141 | 142 | 143 | Gets a value indicating whether this instance is currently profiled by PIX. 144 | 145 | 146 | true if this instance is currently profiled; otherwise, false. 147 | 148 | D3DPERF_GetStatus 149 | 150 | 151 | 152 | Provides a hook to WndProc of an existing window handle using . 153 | 154 | 155 | 156 | 157 | Initializes a new instance of the class. 158 | 159 | The HWND. 160 | 161 | 162 | 163 | Adds a message filter to a window. 164 | 165 | The handle of the window. 166 | The message filter. 167 | 168 | 169 | 170 | Removes a message filter associated with a window. 171 | 172 | The handle of the window. 173 | The message filter. 174 | 175 | 176 | 177 | A strongly-typed resource class, for looking up localized strings, etc. 178 | 179 | 180 | 181 | 182 | Returns the cached ResourceManager instance used by this class. 183 | 184 | 185 | 186 | 187 | Overrides the current thread's CurrentUICulture property for all 188 | resource lookups using this strongly typed resource class. 189 | 190 | 191 | 192 | 193 | Looks up a localized resource of type System.Drawing.Icon similar to (Icon). 194 | 195 | 196 | 197 | 198 | A Renderable UserControl. 199 | 200 | 201 | 202 | 203 | Initializes a new instance of the class. 204 | 205 | 206 | 207 | 208 | Paints the background of the control. 209 | 210 | A that contains the event data. 211 | 212 | 213 | 214 | Raises the event. 215 | 216 | A that contains the event data. 217 | 218 | 219 | 220 | Default Rendering Form. 221 | 222 | 223 | 224 | 225 | Initializes a new instance of the class. 226 | 227 | 228 | 229 | 230 | Initializes a new instance of the class. 231 | 232 | The text. 233 | 234 | 235 | 236 | Occurs when [app activated]. 237 | 238 | 239 | 240 | 241 | Occurs when [app deactivated]. 242 | 243 | 244 | 245 | 246 | Occurs when [monitor changed]. 247 | 248 | 249 | 250 | 251 | Occurs when [pause rendering]. 252 | 253 | 254 | 255 | 256 | Occurs when [resume rendering]. 257 | 258 | 259 | 260 | 261 | Occurs when [screensaver]. 262 | 263 | 264 | 265 | 266 | Occurs when [system resume]. 267 | 268 | 269 | 270 | 271 | Occurs when [system suspend]. 272 | 273 | 274 | 275 | 276 | Occurs when [user resized]. 277 | 278 | 279 | 280 | 281 | Gets or sets a value indicating whether this form can be resized by the user. See remarks. 282 | 283 | 284 | This property alters , 285 | for true value it is , 286 | for false - . 287 | 288 | true if this form can be resized by the user (by default); otherwise, false. 289 | 290 | 291 | 292 | Gets or sets a value indicationg whether the current render form is in fullscreen mode. See remarks. 293 | 294 | 295 | If Toolkit is used, this property is set automatically, 296 | otherwise user should maintain it himself as it affects the behavior of property. 297 | 298 | 299 | 300 | 301 | Raises the event. 302 | 303 | A that contains the event data. 304 | 305 | 306 | 307 | Raises the event. 308 | 309 | A that contains the event data. 310 | 311 | 312 | 313 | Raises the event. 314 | 315 | An that contains the event data. 316 | 317 | 318 | 319 | Paints the background of the control. 320 | 321 | A that contains the event data. 322 | 323 | 324 | 325 | Raises the Pause Rendering event. 326 | 327 | The instance containing the event data. 328 | 329 | 330 | 331 | Raises the Resume Rendering event. 332 | 333 | The instance containing the event data. 334 | 335 | 336 | 337 | Raises the User resized event. 338 | 339 | The instance containing the event data. 340 | 341 | 342 | 343 | Raises the On App Activated event. 344 | 345 | The instance containing the event data. 346 | 347 | 348 | 349 | Raises the App Deactivated event 350 | 351 | The instance containing the event data. 352 | 353 | 354 | 355 | Raises the System Suspend event 356 | 357 | The instance containing the event data. 358 | 359 | 360 | 361 | Raises the System Resume event 362 | 363 | The instance containing the event data. 364 | 365 | 366 | 367 | Raises the event. 368 | 369 | The instance containing the event data. 370 | 371 | 372 | 373 | Override windows message loop handling. 374 | 375 | The Windows to process. 376 | 377 | 378 | 379 | RenderLoop provides a rendering loop infrastructure. See remarks for usage. 380 | 381 | 382 | Use static 383 | method to directly use a renderloop with a render callback or use your own loop: 384 | 385 | control.Show(); 386 | using (var loop = new RenderLoop(control)) 387 | { 388 | while (loop.NextFrame()) 389 | { 390 | // Perform draw operations here. 391 | } 392 | } 393 | 394 | Note that the main control can be changed at anytime inside the loop. 395 | 396 | 397 | 398 | 399 | Initializes a new instance of the class. 400 | 401 | 402 | 403 | 404 | Initializes a new instance of the class. 405 | 406 | 407 | 408 | 409 | Gets or sets the control to associate with the current render loop. 410 | 411 | The control. 412 | Control is already disposed 413 | 414 | 415 | 416 | Gets or sets a value indicating whether the render loop should use the default instead of a custom window message loop lightweight for GC. Default is false. 417 | 418 | true if the render loop should use the default instead of a custom window message loop (default false); otherwise, false. 419 | By default, RenderLoop is using a custom window message loop that is more lightweight than to process windows event message. 420 | Set this parameter to true to use the default . 421 | 422 | 423 | 424 | Calls this method on each frame. 425 | 426 | true if if the control is still active, false otherwise. 427 | An error occured 428 | 429 | 430 | 431 | Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. 432 | 433 | 434 | 435 | 436 | Delegate for the rendering loop. 437 | 438 | 439 | 440 | 441 | Runs the specified main loop in the specified context. 442 | 443 | 444 | 445 | 446 | Runs the specified main loop for the specified windows form. 447 | 448 | The form. 449 | The rendering callback. 450 | if set to true indicating whether the render loop should use the default instead of a custom window message loop lightweight for GC. Default is false. 451 | form 452 | or 453 | renderCallback 454 | 455 | 456 | 457 | Gets a value indicating whether this instance is application idle. 458 | 459 | 460 | true if this instance is application idle; otherwise, false. 461 | 462 | 463 | 464 | 465 | Internal class to interact with Native Message 466 | 467 | 468 | 469 | 470 | -------------------------------------------------------------------------------- /packages/SharpDX.Desktop.4.0.1/lib/net45/SharpDX.Desktop.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | SharpDX.Desktop 5 | 6 | 7 | 8 | 9 | Helper class to allow programmatic capturing of graphics information that can be loaded later in Visual Studio. 10 | This is a managed implementation of the VsDbg class (http://msdn.microsoft.com/en-us/library/vstudio/dn440549.aspx). 11 | Requires to have installed VS Remote Tools. 12 | http://msdn.microsoft.com/en-us/library/vstudio/hh708963.aspx 13 | http://msdn.microsoft.com/en-us/library/vstudio/hh780905.aspx 14 | 15 | 16 | 17 | 18 | Helper structure to ease the begin/end graphics capturing 19 | 20 | 21 | var debugger = new VSGraphicsDebugger(); 22 | using(debugger.BeginCapture()) 23 | { 24 | ... 25 | } 26 | 27 | 28 | 29 | 30 | Creates a new instance of the structure. 31 | 32 | The attanched graphics debugger. 33 | 34 | 35 | 36 | Ends the capture by calling . 37 | 38 | 39 | 40 | 41 | Creates a new instance of the class and prepares the in-app component of graphics diagnostics to actively capture and record graphics information.. 42 | 43 | The destination filename for log writing. 44 | 45 | 46 | 47 | Copies the contents of the active graphics log (.vsglog) file into a new file. 48 | 49 | The new log file name. 50 | 51 | 52 | 53 | Toggles the graphics diagnostics HUD overlay on or off. 54 | 55 | 56 | 57 | 58 | Adds a custom message to the graphics diagnostics HUD (Head-Up Display). 59 | 60 | The message to add. 61 | 62 | 63 | 64 | Captures the remainder of the current frame to the graphics log file. 65 | 66 | 67 | 68 | 69 | Begins a capture interval that will end with . 70 | 71 | A instance that once disposed, calls automatically the method. 72 | 73 | 74 | 75 | Ends a capture interval that was started with . 76 | 77 | 78 | 79 | 80 | Finalizes the graphics log file, closes it, and frees resources that were used while the app was actively recording graphics information. 81 | 82 | Ignored. 83 | 84 | 85 | 86 | Helper class for PIX. 87 | 88 | 89 | 90 | 91 | Marks the beginning of a user-defined event. PIX can use this event to trigger an action. 92 | 93 | The Event color. 94 | The Event Name. 95 | The zero-based level of the hierarchy that this event is starting in. If an error occurs, the return value will be negative. 96 | D3DPERF_BeginEvent 97 | 98 | 99 | 100 | Marks the beginning of a user-defined event. PIX can use this event to trigger an action. 101 | 102 | The Event color. 103 | The Event formatted Name. 104 | The parameters to use for the formatted name. 105 | 106 | The zero-based level of the hierarchy that this event is starting in. If an error occurs, the return value will be negative. 107 | 108 | D3DPERF_BeginEvent 109 | 110 | 111 | 112 | Mark the end of a user-defined event. PIX can use this event to trigger an action. 113 | 114 | The level of the hierarchy in which the event is ending. If an error occurs, this value is negative. 115 | D3DPERF_EndEvent 116 | 117 | 118 | 119 | Mark an instantaneous event. PIX can use this event to trigger an action. 120 | 121 | The color. 122 | The name. 123 | D3DPERF_SetMarker 124 | 125 | 126 | 127 | Mark an instantaneous event. PIX can use this event to trigger an action. 128 | 129 | The color. 130 | The name to format. 131 | The parameters to use to format the name. 132 | D3DPERF_SetMarker 133 | 134 | 135 | 136 | Set this to false to notify PIX that the target program does not give permission to be profiled. 137 | 138 | if set to true PIX profiling is authorized. Default to true. 139 | D3DPERF_SetOptions 140 | 141 | 142 | 143 | Gets a value indicating whether this instance is currently profiled by PIX. 144 | 145 | 146 | true if this instance is currently profiled; otherwise, false. 147 | 148 | D3DPERF_GetStatus 149 | 150 | 151 | 152 | Provides a hook to WndProc of an existing window handle using . 153 | 154 | 155 | 156 | 157 | Initializes a new instance of the class. 158 | 159 | The HWND. 160 | 161 | 162 | 163 | Adds a message filter to a window. 164 | 165 | The handle of the window. 166 | The message filter. 167 | 168 | 169 | 170 | Removes a message filter associated with a window. 171 | 172 | The handle of the window. 173 | The message filter. 174 | 175 | 176 | 177 | A strongly-typed resource class, for looking up localized strings, etc. 178 | 179 | 180 | 181 | 182 | Returns the cached ResourceManager instance used by this class. 183 | 184 | 185 | 186 | 187 | Overrides the current thread's CurrentUICulture property for all 188 | resource lookups using this strongly typed resource class. 189 | 190 | 191 | 192 | 193 | Looks up a localized resource of type System.Drawing.Icon similar to (Icon). 194 | 195 | 196 | 197 | 198 | A Renderable UserControl. 199 | 200 | 201 | 202 | 203 | Initializes a new instance of the class. 204 | 205 | 206 | 207 | 208 | Paints the background of the control. 209 | 210 | A that contains the event data. 211 | 212 | 213 | 214 | Raises the event. 215 | 216 | A that contains the event data. 217 | 218 | 219 | 220 | Default Rendering Form. 221 | 222 | 223 | 224 | 225 | Initializes a new instance of the class. 226 | 227 | 228 | 229 | 230 | Initializes a new instance of the class. 231 | 232 | The text. 233 | 234 | 235 | 236 | Occurs when [app activated]. 237 | 238 | 239 | 240 | 241 | Occurs when [app deactivated]. 242 | 243 | 244 | 245 | 246 | Occurs when [monitor changed]. 247 | 248 | 249 | 250 | 251 | Occurs when [pause rendering]. 252 | 253 | 254 | 255 | 256 | Occurs when [resume rendering]. 257 | 258 | 259 | 260 | 261 | Occurs when [screensaver]. 262 | 263 | 264 | 265 | 266 | Occurs when [system resume]. 267 | 268 | 269 | 270 | 271 | Occurs when [system suspend]. 272 | 273 | 274 | 275 | 276 | Occurs when [user resized]. 277 | 278 | 279 | 280 | 281 | Gets or sets a value indicating whether this form can be resized by the user. See remarks. 282 | 283 | 284 | This property alters , 285 | for true value it is , 286 | for false - . 287 | 288 | true if this form can be resized by the user (by default); otherwise, false. 289 | 290 | 291 | 292 | Gets or sets a value indicationg whether the current render form is in fullscreen mode. See remarks. 293 | 294 | 295 | If Toolkit is used, this property is set automatically, 296 | otherwise user should maintain it himself as it affects the behavior of property. 297 | 298 | 299 | 300 | 301 | Raises the event. 302 | 303 | A that contains the event data. 304 | 305 | 306 | 307 | Raises the event. 308 | 309 | A that contains the event data. 310 | 311 | 312 | 313 | Raises the event. 314 | 315 | An that contains the event data. 316 | 317 | 318 | 319 | Paints the background of the control. 320 | 321 | A that contains the event data. 322 | 323 | 324 | 325 | Raises the Pause Rendering event. 326 | 327 | The instance containing the event data. 328 | 329 | 330 | 331 | Raises the Resume Rendering event. 332 | 333 | The instance containing the event data. 334 | 335 | 336 | 337 | Raises the User resized event. 338 | 339 | The instance containing the event data. 340 | 341 | 342 | 343 | Raises the On App Activated event. 344 | 345 | The instance containing the event data. 346 | 347 | 348 | 349 | Raises the App Deactivated event 350 | 351 | The instance containing the event data. 352 | 353 | 354 | 355 | Raises the System Suspend event 356 | 357 | The instance containing the event data. 358 | 359 | 360 | 361 | Raises the System Resume event 362 | 363 | The instance containing the event data. 364 | 365 | 366 | 367 | Raises the event. 368 | 369 | The instance containing the event data. 370 | 371 | 372 | 373 | Override windows message loop handling. 374 | 375 | The Windows to process. 376 | 377 | 378 | 379 | RenderLoop provides a rendering loop infrastructure. See remarks for usage. 380 | 381 | 382 | Use static 383 | method to directly use a renderloop with a render callback or use your own loop: 384 | 385 | control.Show(); 386 | using (var loop = new RenderLoop(control)) 387 | { 388 | while (loop.NextFrame()) 389 | { 390 | // Perform draw operations here. 391 | } 392 | } 393 | 394 | Note that the main control can be changed at anytime inside the loop. 395 | 396 | 397 | 398 | 399 | Initializes a new instance of the class. 400 | 401 | 402 | 403 | 404 | Initializes a new instance of the class. 405 | 406 | 407 | 408 | 409 | Gets or sets the control to associate with the current render loop. 410 | 411 | The control. 412 | Control is already disposed 413 | 414 | 415 | 416 | Gets or sets a value indicating whether the render loop should use the default instead of a custom window message loop lightweight for GC. Default is false. 417 | 418 | true if the render loop should use the default instead of a custom window message loop (default false); otherwise, false. 419 | By default, RenderLoop is using a custom window message loop that is more lightweight than to process windows event message. 420 | Set this parameter to true to use the default . 421 | 422 | 423 | 424 | Calls this method on each frame. 425 | 426 | true if if the control is still active, false otherwise. 427 | An error occured 428 | 429 | 430 | 431 | Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. 432 | 433 | 434 | 435 | 436 | Delegate for the rendering loop. 437 | 438 | 439 | 440 | 441 | Runs the specified main loop in the specified context. 442 | 443 | 444 | 445 | 446 | Runs the specified main loop for the specified windows form. 447 | 448 | The form. 449 | The rendering callback. 450 | if set to true indicating whether the render loop should use the default instead of a custom window message loop lightweight for GC. Default is false. 451 | form 452 | or 453 | renderCallback 454 | 455 | 456 | 457 | Gets a value indicating whether this instance is application idle. 458 | 459 | 460 | true if this instance is application idle; otherwise, false. 461 | 462 | 463 | 464 | 465 | Internal class to interact with Native Message 466 | 467 | 468 | 469 | 470 | --------------------------------------------------------------------------------