walbourn / directx-vs-templates

Direct3D Visual Studio Templates
https://walbourn.github.io/direct3d-game-visual-studio-templates-redux/
MIT License
410 stars 55 forks source link
clang cmake desktop msvc uwp xbox

Direct3D Game VS project templates

This repo contains simplified Visual C++ project templates. They are primarily intended for developer education, samples, and tutorials.

See this blog post and this one.

Documentation is available on GitHub.

There are two versions of each template. The DR version adds a DeviceResources (DX11 or DX12) abstraction to isolate the device and swapchain code into it's own helper class.

For the UWP templates, there are C++/WinRT variants that use C++ Windows Runtime language projections rather than the C++/CX language extensions (/ZW).

VS 2019

The VSIX\Direct3DUWPGame.vsix suports VS 2019. Use of Visual Studio 2019 16.11 update is recommended.

The package requires the Universal Windows Platform development workload (Microsoft.VisualStudio.Workload.Universal) with the C++ Universal Windows Platform tools (Microsoft.VisualStudio.ComponentGroup.UWP.VC). The Win32 templates require the Desktop development with C++ workload (Microsoft.VisualStudio.Workload.NativeDesktop). It is recommended you make use of the Windows 10 SDK (19041) or later.

VS 2022

The VSIX\Direct3DUWPGame.vsix also works for VS 2022.

The package requires the Universal Windows Platform development workload (Microsoft.VisualStudio.Workload.Universal) with the C++ Universal Windows Platform tools (Microsoft.VisualStudio.ComponentGroup.UWP.VC). The Win32 templates require the Desktop development with C++ workload (Microsoft.VisualStudio.Workload.NativeDesktop). It is recommended you make use of the Windows SDK (22000) or later.

Rebuilding the VSIX

Building the VSIX project requires VS 2019 with the .NET desktop development (Microsoft.VisualStudio.Workload.ManagedDesktop) workload.

Notices

All content and source code for this package are subject to the terms of the MIT License.

Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.