awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
google avatar

google/angle

0
View on GitHub↗
4,032 stars·737 forks·C++·20 viewsangleproject.org↗

Angle

This project is a cross-platform graphics wrapper and translation layer that implements the OpenGL ES and EGL specifications. It functions as a graphics API bridge, mapping OpenGL ES calls and WebGL content to platform-specific hardware APIs such as Vulkan and Metal to ensure consistent rendering across different operating systems.

The system features a shader translation service that validates shading language code and transpiles it into multiple target languages, including HLSL, SPIR-V, and Metal SL. It employs a pluggable backend architecture to select the appropriate hardware rendering API during initialization and can override GPU hardware identifiers to maintain application compatibility.

The capability surface includes GPU API abstraction and graphics extension mapping, as well as the translation of OpenCL compute calls into hardware-specific instructions. For resource management, the project implements Vulkan command buffer management and resource access synchronization using read and write barriers.

Observability is provided through API call trace capture, GPU debug marker emission, and detailed system logging for Vulkan API calls.

Features

  • Cross-Platform Graphics Frameworks - Provides a cross-platform graphics wrapper that implements EGL to bridge graphics APIs and native window systems.
  • Graphics API Translation Layers - Provides a translation layer that maps OpenGL ES calls to platform-specific graphics APIs for cross-platform hardware compatibility.
  • Graphics API Abstractions - Provides a unified interface for graphics and compute calls by mapping them to underlying hardware rendering backends.
  • Cross-Platform Graphics Tooling - Translates OpenGL ES API calls into platform-specific instructions like Vulkan or Metal for consistent visual output.
  • Graphics API Translators - Translates standard graphics API calls into platform-specific instructions to maintain compatibility for visual content.
  • Shader Transpilation - Transpiles shading language source code into target languages such as HLSL and SPIR-V for hardware-specific execution.
  • OpenGL ES Implementations - Implements the OpenGL ES and EGL specifications to enable mobile-style graphics rendering on desktop environments.
  • OpenGL ES to Vulkan Translation - Maps OpenGL ES graphics calls and state changes directly to Vulkan commands for cross-platform rendering.
  • WebGL Rendering - Enables WebGL content to run across different operating systems by mapping calls to supported hardware drivers.
  • Compute API Translation - Converts OpenCL compute API calls into hardware-specific instructions to provide a consistent interface across platforms.
  • OpenCL Accelerators - Executes compute calls by integrating with system loaders or linking directly to graphics libraries via OpenCL.
  • Shader Translation - Converts shader source code through intermediate representations to ensure compatibility across different GPU backends.
  • Shader Validation - Validates shading language code and converts it into various target languages to ensure consistent behavior across drivers.
  • GPU Resource Barriers - Issues read and write barriers for images and buffers to prevent data races between GPU operations.
  • Vulkan Resource Management - Records graphics and compute operations into Vulkan command buffers and manages render pass lifecycles.
  • Resource Synchronization Barriers - Issues read and write barriers for images and buffers to ensure correct data dependencies between GPU operations.
  • Extension Mapping - Maps standard graphics extensions to supported hardware APIs across different operating systems and drivers.
  • Graphics Backend Selection - Provides mechanisms to select the appropriate hardware rendering API during initialization for OS compatibility.
  • GLX/EGL Backend Abstractions - Implements the EGL 1.5 specification to manage the interface between graphics APIs and native window systems.
  • Pluggable Backends - Implements a pluggable architecture to select the appropriate hardware rendering API during initialization.
  • Math and Utilities - Cross-platform graphics engine abstraction for browser backends.

Star history

Star history chart for google/angleStar history chart for google/angle

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does google/angle do?

This project is a cross-platform graphics wrapper and translation layer that implements the OpenGL ES and EGL specifications. It functions as a graphics API bridge, mapping OpenGL ES calls and WebGL content to platform-specific hardware APIs such as Vulkan and Metal to ensure consistent rendering across different operating systems.

What are the main features of google/angle?

The main features of google/angle are: Cross-Platform Graphics Frameworks, Graphics API Translation Layers, Graphics API Abstractions, Cross-Platform Graphics Tooling, Graphics API Translators, Shader Transpilation, OpenGL ES Implementations, OpenGL ES to Vulkan Translation.

What are some open-source alternatives to google/angle?

Open-source alternatives to google/angle include: gfx-rs/gfx — gfx is a hardware-agnostic graphics API abstraction that translates a unified set of graphics and compute commands… harbourmasters/shipwright — Shipwright is a native execution engine designed to run decompiled legacy game code on modern hardware. It functions… mosra/magnum — Magnum is a C++ middleware suite for cross-platform graphics development and real-time data visualization. It provides… floooh/sokol — Sokol is a C hardware abstraction layer and cross-platform graphics library designed for managing windowing, input,… amzeratul/halley — Halley is a modular C++ game engine designed for building cross-platform interactive applications. Its core identity… twilitrealm/dusklight — Dusklight is a suite of specialized toolkits designed for legacy game porting and engine reimplementation. It provides…

Open-source alternatives to Angle

Similar open-source projects, ranked by how many features they share with Angle.
  • gfx-rs/gfxgfx-rs avatar

    gfx-rs/gfx

    5,398View on GitHub↗

    gfx is a hardware-agnostic graphics API abstraction that translates a unified set of graphics and compute commands into native instructions for multiple GPU drivers. It provides a common interface for cross-platform rendering and general-purpose GPU compute programming. The project features an intermediate-representation shader translation system that converts source code and SPIR-V into target-specific languages. It employs a data-driven reference test framework to verify that graphics output remains consistent across different hardware platforms. Capabilities include parallel command buffe

    Rustdx11dx12gfx
    View on GitHub↗5,398
  • harbourmasters/shipwrightHarbourMasters avatar

    HarbourMasters/Shipwright

    5,023View on GitHub↗

    Shipwright is a native execution engine designed to run decompiled legacy game code on modern hardware. It functions as a game engine execution layer that provides a high-performance environment for legacy logic while ensuring compatibility with current systems. The project features a pluggable graphics API wrapper that allows for switching between different rendering backends to ensure visual stability across various operating systems. It also includes a custom asset loader that imports external archive files to modify game content and add custom assets. Additional capabilities include an i

    C
    View on GitHub↗5,023
  • mosra/magnummosra avatar

    mosra/magnum

    5,169View on GitHub↗

    Magnum is a C++ middleware suite for cross-platform graphics development and real-time data visualization. It provides a hardware-agnostic rendering layer that translates graphics commands into platform-specific calls, ensuring consistent behavior across different GPU drivers and APIs such as Vulkan. The project focuses on decoupling application logic from underlying hardware through abstract graphics and system utilities. It features a plugin-based resource importer for 3D assets and audio, a hierarchical scene graph for spatial transformations, and a high-performance signal-based event syst

    C++
    View on GitHub↗5,169
  • floooh/sokolfloooh avatar

    floooh/sokol

    9,620View on GitHub↗

    Sokol is a C hardware abstraction layer and cross-platform graphics library designed for managing windowing, input, and audio across different operating systems. It functions as a GPU resource manager and multimedia application framework, providing a unified API for rendering 2D and 3D graphics across WebGL, Metal, Direct3D, and OpenGL. The project is distinguished by its single-header implementation, which simplifies integration and portability. It utilizes a stateless render pass definition and a one-update-per-frame model to synchronize CPU data to GPU memory and manage resource lifecycles

    C
    View on GitHub↗9,620
  • See all 30 alternatives to Angle→