Skip to main content
August 4, 2015
IoT

ANGLE for Windows Now Available On NuGet



This blog was written by Tony Balogh, Senior Program Manager.

You have developed and/or published apps running on iOS and Android with OpenGL ES content. You want your app in the hands of the forecasted 1 billion Windows 10 users, but your graphics code will not run across all Windows devices without a major re-write. However, you’ve heard about Microsoft’s efforts to ease the porting of apps to run on Windows. How do you port your app while minimizing the amount of code that needs to be re-written?

We’ve listened to your requests on our GitHub site and have solved these issues and more! Through participation with the ANGLE Project, ANGLE for Windows Store is now available to Windows developers through NuGet. The ANGLE NuGet package is designed for app projects using Visual Studio 2013 and/or Visual Studio 2015, targeting Windows 8.1, Windows Phone 8.1, and Windows 10. This means it just got easier to use your existing OpenGL ES code on the Windows family of devices. With ANGLE support for the Universal Windows Platform architecture, you can take your converted app and distribute it to Windows 10 customers.

What Is ANGLE?

ANGLE, or Almost Native Graphics Layer Engine, is an open-source project that allows Windows developers to seamlessly run OpenGL ES 2.0 content by translating OpenGL ES 2.0 API calls to DirectX 11 API calls. Since 2010, the goal remains the same: provide a way to universally run OpenGL ES 2.0 content on Windows. Whether it be WebGL running in web browsers, or games using OpenGL ES 2.0 for rendering complex scenes, ANGLE provides a way to run these on current Windows devices.

During the past year, new features added to ANGLE have opened up the Windows Store, added compatibility for Windows 8.1 and Windows Phone 8.1, and now, Windows 10 Universal Windows Platform projects. ANGLE is not restricted to mobile devices, but any device running DirectX 11 on Windows: desktop, laptop, tablet, phablet, phone, and even Raspberry Pi 2 (with Windows 10).

Enter NuGet

If you are a Windows developer, you may already be familiar with NuGet. NuGet is the package manager for the Microsoft development, and now provides easy access to “ANGLE for Windows Store” for your project.

Using Visual Studio’s NuGet Package Manager, install the “ANGLE for Windows Store” package, and it’s ready to run your code. When ANGLE is loaded into your project, it adds all required references and libraries needed to run your code. There is no need to configure your compiler or linker to include ANGLE, it’s all done for you.

angleImage1

Version control is a breeze as well, giving you control over which version of ANGLE to use, and when to update your project’s referenced version. The ANGLE libraries are versioned through NuGet standards, so you can control when you need to update your ANGLE references.

Getting Started

Building an app with “ANGLE for Windows Store” requires using Visual Studio 2013 (update 4 or higher) and Visual Studio 2015. With Visual Studio, you have the right tools to build your app and deliver it to the Windows Store. Port your application code, add the NuGet package to your project, and be amazed when you app is run natively on Windows.

For those that want to try it without making the leap to porting code, we’ve provided samples for you to experiment with, modify, and learn from. As your experience grows with programming for ANGLE, it’s worth checking out the performance tips to help you get the most out of your app. ANGLE is an active, community-driven project, so we’ve provided a way to keep up with known issues and help you make educated decisions for your project.

We are really proud of the product and the possibilities it creates for you. By combining the open-source nature of the ANGLE Project with the Microsoft developer tool stack, ANGLE sets up your OpenGL ES 2.0 app for success. We want to hear about your experience: good, bad or indifferent. Let us know what you think in Microsoft’s GitHub issues section, our official communication channel for ANGLE.