ANGLE allows Windows users to seamlessly run OpenGL ES content by efficiently translating OpenGL ES API into DirectX 11 API calls.
This repository is maintained by Microsoft to support the use of ANGLE by Windows Store app developers. It contains several branches:
- ms-master - for Universal Windows 10 apps (UWP) and desktop apps
- ms-win8.1 - for Windows 8.1 and Windows Phone 8.1 apps
- ms-holographic-experimental - for experimental HoloLens support
ms-master contains a copy of ANGLE that is regularly updated from the ANGLE master branch. It also contains recent changes made by Microsoft that have not yet been merged back to ANGLE master (our goal is to eventually merge everything, but if you want the latest and greatest Windows Store features, you will find them here first)
The repository also contains:
- Documentation and project templates focused on Windows Store app development
- Sample code and utilities such as DDS and WIC texture loaders
The ms-master branch and ms-win8.1 branch contain the source code used to build the ANGLE binaries that we publish on NuGet. The NuGet package with Windows 10 (UWP) binaries is available here. The NuGet package with Win8.1/Phone8.1 binaries is available here.
ANGLE supports different versions of OpenGL ES depending on the capabilities of the underlying hardware. In particular, the supported version depends on which D3D Feature Levels the hardware supports:
Hardware Feature Levels |
Example devices | What does ANGLE support? |
---|---|---|
11_1 11_0 10_1 |
Modern Desktop PCs Surface Pros |
OpenGL ES 2.0 OpenGL ES 3.0 |
10_0 |
OpenGL ES 2.0 | |
9_3 | Windows Phones | OpenGL ES 2.0 (except minor corner cases) |
9_2 9_1 |
Surface RT | OpenGL ES 2.0 (via software emulation) |
None | Raspberry Pi 2 | OpenGL ES 2.0 (via software emulation) |
There are two ways to get ANGLE for Windows Store applications:
- Download compiled ANGLE binaries as a NuGet package
- Download and compile the ANGLE source code from this GitHub repository
Easy-to-use Visual Studio app templates are currently available for option 2 above. See the 'Quick Start' section below for more details.
Windows 10 Development:
- Visual Studio 2015 Community or higher
- Windows 10 for local Windows development
Clasic Windows (Desktop) Development:
- Visual Studio 2015 Community or higher.
For Windows 8.1 or Windows Phone 8.1 development, see the ms-win8.1 branch.
For detailed information about ANGLE, please visit our wiki (found here). Our wiki contains lots of useful information about ANGLE, including:
- Guides to help you get started with ANGLE in Windows apps
- Tips and tricks to get good performance out of ANGLE
- Sample code and documentation
- And more!
For a broad overview of ANGLE and how it works, please take a look at our //BUILD/ 2015 presentation.
- Clone or download ANGLE from our GitHub repository
- Install our easy-to-use Visual Studio templates by running install.bat in the /templates/ directory of your copy of ANGLE, or follow these manual steps.
- Open the appropriate ANGLE Visual Studio solution for your project, and build all flavors of it
- In Visual Studio go "File -> New -> Project", create a new ANGLE application, and hit F5 to run it!
The Windows 10 Visual Studio solution for ANGLE is located here:
- /winrt/10/src/angle.sln
The Visual Studio solution for Windows desktop applications is located here:
- /src/angle.sln
For Windows 8.1 or Windows Phone 8.1 development, see the ms-win8.1 branch.
- Recent breaking changes
- Known issues with ANGLE
- Master ANGLE project info
- Deprecated ANGLE Windows 8.0 branch
- 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.
If you have feedback about this branch then we would love to hear it. Please create an issue on this GitHub page, or contact the Microsoft contributors directly.
- Cooper Partin (coopp-at-microsoft-dot-com)
- Austin Kinross (aukinros-at-microsoft-dot-com)