ANGLE: OpenGL ES to DirectX translation for Windows Store, Windows Phone and Desktop
C++ C Python Yacc Objective-C++ Lex Other
Permalink
Failed to load latest commit information.
doc Add instructions for working with ANGLE for Android Dec 15, 2016
extensions Split WebGL compatibility into two extensions. Dec 1, 2016
gni Ozone: Only set angle_enable_gl=1 for the DRM/GBM platform. Nov 8, 2016
gyp Various minor ANGLE fixes (fix DDS loader, remove bad projects/SLNs) May 16, 2017
include Merge remote-tracking branch 'google/master' into ms-master Dec 20, 2016
infra/config Add linux_chromium_chromeos_ozone_rel_ng to CQ. Oct 9, 2016
samples Various minor ANGLE fixes (fix DDS loader, remove bad projects/SLNs) May 16, 2017
scripts Fix up perf test runner script. Nov 17, 2016
src Add dxgi1_3.h to platform.h to fix desktop compilation Feb 22, 2017
templates Replace github.com/MsOpenTech/angle URLs with github.com/Microsoft/angle Jun 16, 2016
third_party/deqp Roll dEQP cc0ded6c77267b..cd361df193e7535b9 Jun 20, 2016
util Remove UNUSED_ASSERTION_VARIABLE Dec 21, 2016
winrt/10/src Various minor ANGLE fixes (fix DDS loader, remove bad projects/SLNs) May 16, 2017
.clang-format Log EGL initialize errors to the platform. Jul 31, 2015
.gitattributes Re-land "GN: Enable chromium_code config instead." Jul 18, 2016
.gitignore Various minor ANGLE fixes (fix DDS loader, remove bad projects/SLNs) May 16, 2017
AUTHORS Fix rounding problem for SwapChainPanel size. Jun 23, 2016
BUILD.gn D3D: Move some HLSL-specific code to a new folder. Dec 8, 2016
CONTRIBUTORS The return type of imageSize(gimageCube) is int2, not int3 Nov 28, 2016
DEPS Roll dEQP. Dec 9, 2016
DEPS.chromium Roll dEQP. Dec 9, 2016
LICENSE Add "Portions Copyright (c) Microsoft Corporation" to LICENSE May 13, 2015
README.chromium Adds README.chromium for third-party integration. Jun 17, 2013
README.md Update the README post-merge Aug 24, 2016
codereview.settings Set GERRIT_SQUASH_UPLOADS to False. Jun 17, 2016

README.md

ANGLE -- Microsoft Windows Store branch

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 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:

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.

Feature Support

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)

Getting ANGLE

There are two ways to get ANGLE for Windows Store applications:

  1. Download compiled ANGLE binaries as a NuGet package
  2. 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.

Requirements

Windows 10 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.

More Info

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.

Quick Start (compiling from source)

  1. Clone or download ANGLE from our GitHub repository
  2. 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.
  3. Open the appropriate ANGLE Visual Studio solution for your project, and build all flavors of it
  4. 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.

Useful Links

Feedback

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.

Microsoft Contributors

  • Cooper Partin (coopp-at-microsoft-dot-com)
  • Austin Kinross (aukinros-at-microsoft-dot-com)