30 open-source projects similar to gfx-rs/wgpu, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
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
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
bgfx is a cross-platform, graphics rendering abstraction layer designed for high-performance applications. It provides a unified interface that maps high-level rendering commands to native graphics APIs, allowing developers to maintain a single codebase that executes consistently across diverse operating systems and hardware architectures. The library distinguishes itself through a multi-threaded command submission model that decouples rendering logic from the main application thread, effectively minimizing CPU bottlenecks. It utilizes a backend-agnostic command buffer and a deferred resource
This project is a high-level 3D graphics engine designed to render complex, hardware-accelerated environments within web browsers. It provides a comprehensive abstraction layer that manages scene graphs, cameras, and lighting, mapping high-level scene definitions onto low-level graphics APIs. By decoupling these definitions from specific hardware targets, the engine ensures consistent performance across diverse browsers and devices. The framework distinguishes itself through a robust architecture that includes a unified math library for high-frequency spatial calculations and a physically bas
Orillusion is a WebGPU 3D rendering engine designed for high-fidelity scenes and visual effects in the browser. It functions as a GPU compute framework for parallel mathematical operations and a physically-based rendering graphics pipeline for realistic materials and surfaces. The system also includes a web-based 3D animation toolkit for driving skeletal animations and interpolating vertex positions. The engine is distinguished by its use of an entity component system for scene logic and a macro-based shader generation system that creates multiple shader variants. It optimizes performance thr
This project is a cross-platform library designed for desktop application development, providing a unified interface for window management, input handling, and hardware-accelerated graphics. It serves as a foundational framework that abstracts platform-specific windowing protocols and graphics APIs, enabling developers to create interactive software that functions consistently across Windows, macOS, and Linux. The library distinguishes itself by providing deep integration with low-level graphics APIs, specifically OpenGL and Vulkan. It manages the complexities of graphics context initializati
The Forge is a low-level toolkit for building high-performance graphics engines and applications across desktop, mobile, and console platforms. It provides a cross-platform engine framework and a dedicated shader compiler that translates a single source into target-specific languages for various graphics APIs and hardware. The project includes a GPU memory and resource manager that utilizes unified root signatures for resource binding, alongside a ray tracing rendering pipeline that implements hardware-accelerated ray and path tracing queries. State management is handled through a high-perfor
This project serves as a comprehensive educational framework and reference library for mastering high-performance graphics programming and parallel compute resource management. It provides a collection of practical implementations designed to demonstrate the explicit control required by the Vulkan API, covering the fundamental mechanics of modern graphics pipelines and cross-platform hardware interaction. The repository distinguishes itself by focusing on the low-level architectural requirements of modern GPU development, including manual memory allocation, multi-threaded command recording, a
This repository is a comprehensive collection of reference implementations and sample libraries for the Universal Windows Platform. It provides practical examples of how to use Windows Runtime APIs to build cross-device applications, including detailed guidance on XAML-based declarative user interfaces and DirectX-integrated rendering. The project distinguishes itself by providing a wide array of hardware integration suites, covering low-level communication with USB, Serial, I2C, SPI, and GPIO peripherals. It includes specialized implementations for mixed reality holographic rendering, advanc
This project is a Java GUI framework used to build cross-platform desktop, mobile, and embedded applications. It centers on a hardware accelerated graphics engine that provides 2D and 3D visualizations and visual effects, complemented by a reactive UI binding system for synchronizing data and interface updates. The framework distinguishes itself through the FXML markup language, which separates the visual structure of an interface from its procedural logic. It also includes a dedicated CSS styling engine that allows for the customization of component appearances using external stylesheets and
Cocos Engine is a cross-platform game engine designed for building high-performance 2D and 3D interactive experiences for web, mobile, and desktop platforms. It features a multi-backend rendering engine and a 2D and 3D physics simulator, utilizing a core architecture that combines a C++ runtime for performance with TypeScript for game logic scripting. The engine distinguishes itself through a multi-platform deployment system that packages projects for native operating systems and instant-play web ecosystems. Its graphics system supports multiple APIs, employing physically based rendering and
This project provides a comprehensive toolset for WebGPU, serving as a graphics API wrapper, compute shader framework, resource manager, and shader toolchain. It enables browser-based GPU acceleration by offloading memory-intensive tasks and data processing from the CPU to the GPU. The framework manages the full lifecycle of GPU operations, from requesting physical hardware adapters and initializing logical devices to configuring programmable render and compute pipelines. It specifically supports the coordination of parallel workgroups and collective subgroup operations for general-purpose co
This project is a collection of reference implementations and technical guides for building high-performance 3D applications and graphics experiments on Windows. It provides a library of samples covering the implementation of GPU compute frameworks, raytracing reference models, and shader optimization techniques. The repository includes specific demonstrations for modeling physical light behavior to create reflections and lighting effects, as well as tools for analyzing memory dumps and tracking real-time execution metrics on graphics hardware. It further provides guidance on managing shader
DXVK is a graphics compatibility layer that enables Windows-based applications to run on non-Windows operating systems by translating legacy Direct3D instructions into the modern Vulkan API. It functions as a translation library that maps high-level rendering commands to low-level hardware-accelerated primitives, allowing for high-fidelity graphics output across different hardware environments. The project distinguishes itself through a suite of performance optimization strategies designed to maintain frame consistency and reduce latency. By utilizing background shader compilation and multith
SFML is a cross-platform C++ multimedia library designed for building 2D games and interactive applications. It provides a unified interface for hardware-accelerated graphics, audio playback, and window management, allowing developers to create visual software that functions consistently across different operating systems. The library abstracts native windowing and graphics APIs, enabling the use of object-oriented primitives to render shapes, sprites, and text. It includes a dedicated audio engine that supports sound effects and music with controls for volume, pitch, and spatial positioning,
Ogre is a high-level 3D rendering engine designed for creating games, simulations, and visualizations without requiring low-level graphics API code. It functions as a framework for real-time 3D graphics processing, providing a physically based renderer to simulate lifelike surfaces and lighting. The engine includes specialized systems for skeletal animation to control character movement and a terrain generation system for producing large textured landscapes. These features are supported by automatic levels of detail and distance-based mesh management to maintain performance. The project cove
DiligentEngine is a cross-platform graphics abstraction layer and physically-based rendering engine. It provides a unified interface for executing 3D graphics commands across multiple low-level rendering backends from a single codebase, including a dedicated system for importing 3D assets via the GLTF 2.0 format. The engine features an HLSL shader cross-compiler that allows a single set of shaders to run across different graphics APIs and operating systems. It supports advanced rendering capabilities such as ray-tracing, mesh shaders, variable rate shading, and bindless resources. The framew
DirectXShaderCompiler is an HLSL shader compiler that transforms High-Level Shader Language source code into intermediate language formats executable by GPUs. It functions as a shader bytecode validator to verify the correctness and hardware compatibility of compiled representations and as a software shader rasterizer for rendering when physical graphics hardware is unavailable. The project includes a translation tool that converts HLSL shader code into the SPIR-V binary intermediate representation for use with cross-platform graphics APIs. It also provides capabilities for legacy shader migr
ZLUDA is a middleware and translation engine designed to enable the execution of unmodified proprietary compute binaries on non-native graphics hardware. It functions as a compatibility layer that bridges vendor-specific compute interfaces with open standards, allowing software originally restricted to a single hardware ecosystem to operate on alternative graphics processing units. The project achieves this through a combination of dynamic library interception and runtime instruction translation. By replacing standard system libraries and mapping proprietary compute calls to open standards, t
The Android NDK samples provide a comprehensive collection of code examples demonstrating how to integrate C and C++ native code into Android applications. This repository serves as a practical guide for developers utilizing the Android Native Development Kit to implement performance-critical application components that require direct hardware access and low-level system interaction. The project highlights the use of the Java Native Interface to bridge managed code with native modules, enabling cross-language function calls and efficient data exchange. It demonstrates how to manage native act
Nuklear is a portable, header-only immediate mode graphical user interface library written in C. It is designed to function as a lightweight framework for creating interfaces that render directly to hardware, making it suitable for integration into custom graphics engines, embedded systems, and resource-constrained environments. The library operates by generating abstract draw commands that are converted into vertex buffers, allowing for hardware-accelerated rendering through standard graphics APIs. By utilizing an immediate mode approach, the interface state is defined and updated within the
gpu.cpp is a lightweight C++ library for executing low-level general-purpose GPU computation across different hardware vendors and operating systems. It functions as a portable GPU wrapper, kernel orchestrator, and tensor management system using the WebGPU specification to abstract device initialization, buffer transfers, and compute shader dispatching. The library provides a framework for defining compute kernels from shader code and managing their asynchronous dispatch and synchronization. It enables the execution of cross-platform compute shaders and the orchestration of GPU tasks through
MonoGame is a cross-platform game framework and C# game engine designed for the development of interactive software. It provides a unified environment for building games that run across desktop, mobile, and console platforms using a single codebase. The framework functions as a 2D graphics rendering library, offering tools to apply custom shaders and visual effects to game assets. It utilizes a graphics abstraction layer to map drawing commands to platform-specific APIs, ensuring consistent rendering across diverse hardware. The engine manages hardware-level tasks such as input handling, aud
This project is a cross-platform rendering engine and Dart runtime embedder. It functions as a hardware-accelerated graphics engine that composites and paints user interfaces across mobile, desktop, and web targets. The engine utilizes a hardware-accelerated rendering pipeline to drive high-frame-rate animations using GPU APIs such as Vulkan, Metal, and OpenGL. It incorporates an accessibility framework that maps user interface semantics to platform assistive technologies and screen readers. The system provides a platform abstraction layer for managing file and network I/O and incorporates a
ggez is a 2D game framework for the Rust programming language. It provides a hardware abstraction layer for accessing keyboard, mouse, sound, and graphics hardware, alongside a dedicated game loop manager that synchronizes input processing, state updates, and frame rendering for real-time applications. The framework includes a hardware-accelerated rendering engine for drawing sprites, shapes, and text using shader programs. It also features a resource management system that uses a filesystem abstraction to load and manage game assets from physical directories or compressed archives. Addition
Pixi.js is a high-performance 2D graphics engine used to render interactive animations, sprites, and visual effects in web browsers. It functions as a WebGL 2D rendering engine and HTML5 graphics library designed to produce high-performance two-dimensional visuals. The project operates as a 2D sprite framework and a web-based visual effects engine, providing tools to apply filters, blend modes, and masks to real-time graphics. It also serves as an interactive web canvas API for handling multi-touch and mouse input to build responsive graphical user interfaces. The framework covers a broad se
Echo is a cross-platform game engine designed for the development of two-dimensional and three-dimensional interactive projects. It provides a unified environment that integrates scene management, visual scripting, and graphics rendering into a single workflow, allowing developers to build and deploy applications across desktop, mobile, and web platforms. The engine distinguishes itself through a node-based architecture that governs both scene organization and game logic. By utilizing a visual scripting tool and a data-flow shader graph, users can define complex behaviors and custom materials
The compute runtime is a software layer that provides unified interfaces for parallel processing, kernel execution, and hardware-specific driver communication. It functions as a driver for OpenCL and OneAPI Level Zero, enabling the execution of data-intensive workloads across diverse graphics hardware architectures. The project distinguishes itself by maintaining consistent performance and compatibility across multiple generations of graphics hardware. It achieves this through a hardware abstraction layer that bridges high-level compute instructions with specific silicon capabilities, alongsi
Babylon.js is a JavaScript game engine and real-time graphics renderer designed for creating interactive three-dimensional visuals and applications. It functions as a web-based 3D framework and WebGL engine that enables the deployment of high-performance 3D content across various web platforms and devices. The project provides tools for web-based 3D game development, real-time graphics rendering, and the creation of browser-based interactive visualizations. It also supports the development of WebXR virtual and augmented reality experiences using standard web technologies. The framework cover