Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

A conformant OpenGL ES implementation for Windows, Mac, Linux, iOS and Android.

License

NotificationsYou must be signed in to change notification settings

google/angle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27,090 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

The goal of ANGLE is to allow users of multiple operating systems to seamlessly run WebGL and otherOpenGL ES content by translating OpenGL ES API calls to one of the hardware-supported APIs availablefor that platform. ANGLE currently provides translation from OpenGL ES 2.0, 3.0 and 3.1 to Vulkan,desktop OpenGL, OpenGL ES, Direct3D 9, and Direct3D 11. Future plans include ES 3.2, translation toMetal and MacOS, Chrome OS, and Fuchsia support.

Level of OpenGL ES support via backing renderers

Direct3D 9Direct3D 11Desktop GLGL ESVulkanMetal
OpenGL ES 2.0completecompletecompletecompletecompletecomplete
OpenGL ES 3.0completecompletecompletecompletecomplete
OpenGL ES 3.1completecompletecomplete
OpenGL ES 3.2in progressin progresscomplete

Additionally, OpenGL ES 1.1 is implemented in the front-end using OpenGL ES 3.0 features. Thisversion of the specification is thus supported on all platforms specified above that support OpenGLES 3.0 withknown issues.

Platform support via backing renderers

Direct3D 9Direct3D 11Desktop GLGL ESVulkanMetalWebGPU
Windowscompletecompletecompletecompletecomplete
Linuxcompletecomplete
Mac OS Xcompletecomplete [1]
iOScomplete [2]
Chrome OScompleteplanned
Androidcompletecomplete
Fuchsiacomplete

[1] Metal is supported on macOS 10.14+

[2] Metal is supported on iOS 12+

ANGLE v1.0.772 was certified compliant by passing the OpenGL ES 2.0.3 conformance tests in October 2011.

ANGLE has received the following certifications with the Vulkan backend:

  • OpenGL ES 2.0: ANGLE 2.1.0.d46e2fb1e341 (Nov, 2019)
  • OpenGL ES 3.0: ANGLE 2.1.0.f18ff947360d (Feb, 2020)
  • OpenGL ES 3.1: ANGLE 2.1.0.f5dace0f1e57 (Jul, 2020)
  • OpenGL ES 3.2: ANGLE 2.1.2.21688.59f158c1695f (Sept, 2023)

ANGLE also provides an implementation of the EGL 1.5 specification.

ANGLE is used as the default WebGL backend for both Google Chrome and Mozilla Firefox on Windowsplatforms. Chrome uses ANGLE for all graphics rendering on Windows, including the acceleratedCanvas2D implementation and the Native Client sandbox environment.

Portions of the ANGLE shader compiler are used as a shader validator and translator by WebGLimplementations across multiple platforms. It is used on Mac OS X, Linux, and in mobile variants ofthe browsers. Having one shader validator helps to ensure that a consistent set of GLSL ES shadersare accepted across browsers and platforms. The shader translator can be used to translate shadersto other shading languages, and to optionally apply shader modifications to work around bugs orquirks in the native graphics drivers. The translator targets Desktop GLSL, Vulkan GLSL, Direct3DHLSL, and even ESSL for native GLES2 platforms.

OpenCL Implementation

In addition to OpenGL ES, ANGLE also provides an optionalOpenCL runtime built into the sameoutput GLES lib.

This work/effort is currentlywork-in-progress/experimental.

This work provides the same benefits as the OpenGL implementation, having OpenCL APIs betranslated to other HW-supported APIs available on that platform.

Level of OpenCL support via backing renderers

VulkanOpenCL
OpenCL 1.0in progressin progress
OpenCL 1.1in progressin progress
OpenCL 1.2in progressin progress
OpenCL 3.0in progressin progress

Each supported backing renderer above ends up being an OpenCLPlatform for the user to choose from.

TheOpenCL backend is a "passthrough" implementation which does not perform any API translationat all, instead forwarding API calls to other OpenCL driver(s)/implementation(s).

OpenCL also has an online compiler component to it that is used to compileOpenCL C source code at runtime(similarly to GLES and GLSL). Depending on the chosen backend(s), compiler implementations may vary. Below isa list of renderers and what OpenCL C compiler implementation is used for each:

  • Vulkan :clspv
  • OpenCL : Compiler is part of the native driver

Sources

ANGLE repository is hosted by Chromium project and can bebrowsed online or cloned with

git clone https://chromium.googlesource.com/angle/angle

Building

View theDev setup instructions.

Contributing

About

A conformant OpenGL ES implementation for Windows, Mac, Linux, iOS and Android.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors310


[8]ページ先頭

©2009-2026 Movatter.jp