Istok.WebGPU.Native.Android
0.0.5-preview
dotnet add package Istok.WebGPU.Native.Android --version 0.0.5-preview
NuGet\Install-Package Istok.WebGPU.Native.Android -Version 0.0.5-preview
<PackageReference Include="Istok.WebGPU.Native.Android" Version="0.0.5-preview" />
<PackageVersion Include="Istok.WebGPU.Native.Android" Version="0.0.5-preview" />
<PackageReference Include="Istok.WebGPU.Native.Android" />
paket add Istok.WebGPU.Native.Android --version 0.0.5-preview
#r "nuget: Istok.WebGPU.Native.Android, 0.0.5-preview"
#:package Istok.WebGPU.Native.Android@0.0.5-preview
#addin nuget:?package=Istok.WebGPU.Native.Android&version=0.0.5-preview&prerelease
#tool nuget:?package=Istok.WebGPU.Native.Android&version=0.0.5-preview&prerelease
WebGPU C# Bindings
A high-performance, cross-platform C# wrapper for WebGPU, providing a unified API for desktop, mobile, and web environments.
The primary goal of this project is to provide a single, consistent API that allows you to write graphics code once and run it everywhere.
Key Features
Unified API: Identical code paths for Windows, Linux, macOS, iOS, Android, and WebAssembly.
Web-Idiomatic Design: The API is designed to closely mirror the Browser WebGPU API. This includes descriptor naming conventions and default values, making it intuitive for those familiar with the JavaScript/TypeScript standard.
Auto-Generated: Bindings are strictly generated from the official webgpu.json specification.
Supported Platforms
| Platform | Backend Implementation |
|---|---|
| Windows, Linux, macOS | wgpu-native v29.0.0.0 |
| Android, iOS | wgpu-native v29.0.0.0 |
| Browser (WebAssembly) | Google Dawn v20260324.184550 |
Browser Native Plugin Build Instructions (WebAssembly)
To update the library for the browser, you must use the Emscripten SDK (emsdk 3.1.56 for dotnet 10).
- Initialize Emscripten:
emsdk activate 3.1.56
source ./emsdk_env.sh
- Compile the Library: Navigate to your Dawn binary package and run:
cd [path_to_dawn_bin]/emdawnwebgpu_pkg/webgpu/
emcc -c src/webgpu.cpp -o wgpu_native.a -I./include -std=c++20 -s WASM=1
Project Architecture
The solution is divided into several layers to ensure flexibility and ease of maintenance:
Istok.WebGPU.LowLevel.Generator: A specialized tool that parses thewebgpu.jsondefinition to generate C# bindings.Istok.WebGPU.LowLevel: Contains the raw, auto-generated bindings.Istok.WebGPU: The main high-level library. It wraps the low-level layer to provide the Web-Idiomatic Design.Istok.WebGPU.Native.*: Projects (including.Android,.Browser,.iOS) that bundle the required native binaries for their respective platforms.Istok.WebGPU.View.*: (including.Browser,.SDL) Provides a unified interface for window management, including surface creation and handling display dimensions.
License
This project is available under the MIT License.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0-android36.0 is compatible. |
-
net10.0-android36.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.0.5-preview | 49 | 6/12/2026 |
| 0.0.4-preview | 50 | 6/12/2026 |
| 0.0.3-preview | 60 | 5/21/2026 |
| 0.0.2-preview | 58 | 5/19/2026 |
| 0.0.1-preview | 52 | 5/14/2026 |