[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-5423":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":23,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":35,"readmeContent":36,"aiSummary":37,"trendingCount":16,"starSnapshotCount":16,"syncStatus":38,"lastSyncTime":39,"discoverSource":40},5423,"wgpu","gfx-rs\u002Fwgpu","gfx-rs","A cross-platform, safe, pure-Rust graphics API.","https:\u002F\u002Fwgpu.rs",null,"Rust",17337,1320,112,1089,0,6,52,224,30,44.36,"Apache License 2.0",false,"trunk",true,[27,28,29,30,31,32,33,34],"d3d12","gpu","hacktoberfest","metal","opengl","rust","vulkan","webgpu","2026-06-12 02:01:10","# wgpu\n\n\u003Cimg align=\"right\" width=\"20%\" src=\"logo.png\">\n\n[![Build Status](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Fgfx-rs\u002Fwgpu\u002Fci.yml?branch=trunk&logo=github&label=CI)](https:\u002F\u002Fgithub.com\u002Fgfx-rs\u002Fwgpu\u002Factions)\n[![codecov.io](https:\u002F\u002Fimg.shields.io\u002Fcodecov\u002Fc\u002Fgithub\u002Fgfx-rs\u002Fwgpu?logo=codecov&logoColor=fff&label=codecov&token=84qJTesmeS)](https:\u002F\u002Fcodecov.io\u002Fgh\u002Fgfx-rs\u002Fwgpu)\n\n`wgpu` is a cross-platform, safe, pure-Rust graphics API. It runs natively on Vulkan, Metal, D3D12, and OpenGL; and on top of WebGL2 and WebGPU on wasm.\n\nThe API is based on the [WebGPU standard][webgpu], but is a fully native Rust library. It serves as the core of the WebGPU integration in Firefox, Servo, and Deno.\n\n## Getting Started\n\nSee our examples online at \u003Chttps:\u002F\u002Fwgpu.rs\u002Fexamples\u002F>. You can see the Rust sources at [examples](examples) and run them directly with `cargo run --bin wgpu-examples \u003Cexample>`.\n\n### Learning `wgpu`\n\nIf you are new to `wgpu` and graphics programming, we recommend starting with [Learn Wgpu].\n\n\u003C!-- Note, \"Learn Wgpu\" is using the capitalization style in their header, NOT our styling -->\n\nAdditionally, [WebGPU Fundamentals] is a tutorial for WebGPU which is very similar to our API, minus differences between Rust and Javascript.\n\n[Learn Wgpu]: https:\u002F\u002Fsotrh.github.io\u002Flearn-wgpu\u002F\n[WebGPU Fundamentals]: https:\u002F\u002Fwebgpufundamentals.org\u002F\n\n### Wiki\n\nWe have a [wiki](https:\u002F\u002Fgithub.com\u002Fgfx-rs\u002Fwgpu\u002Fwiki) which has information on useful architecture patterns, debugging tips, and more getting started information.\n\n### Need Help? Want to Contribute?\n\nThe wgpu community uses Matrix and Discord to discuss.\n\n- [![`#wgpu:matrix.org`](https:\u002F\u002Fimg.shields.io\u002Fstatic\u002Fv1?label=wgpu-devs&message=%23wgpu&color=blueviolet&logo=matrix)](https:\u002F\u002Fmatrix.to\u002F#\u002F#wgpu:matrix.org) - discussion of wgpu's development.\n- [![`#wgpu-users:matrix.org`](https:\u002F\u002Fimg.shields.io\u002Fstatic\u002Fv1?label=wgpu-users&message=%23wgpu-users&color=blueviolet&logo=matrix)](https:\u002F\u002Fmatrix.to\u002F#\u002F#wgpu-users:matrix.org) - discussion of using the library and the surrounding ecosystem.\n- [![#wgpu on the Rust Gamedev Discord](https:\u002F\u002Fimg.shields.io\u002Fdiscord\u002F676678179678715904?logo=discord&logoColor=E0E3FF&label=%23wgpu&color=5865F2)\n  ](https:\u002F\u002Fdiscord.gg\u002FX3MYBNXUMJ) - Dedicated support channel on the Rust Gamedev Discord.\n\n### Other Languages\n\nTo use wgpu in C or dozens of other languages, look at [wgpu-native](https:\u002F\u002Fgithub.com\u002Fgfx-rs\u002Fwgpu-native). These are C bindings to wgpu and has an up-to-date list of libraries bringing support to other languages.\n\n[Learn WebGPU (for C++)] is a good resource for learning how to use wgpu-native from C++.\n\n[Learn WebGPU (for C++)]: https:\u002F\u002Feliemichel.github.io\u002FLearnWebGPU\u002F\n[webgpu]: https:\u002F\u002Fgpuweb.github.io\u002Fgpuweb\u002F\n\n## Quick Links\n\n|         Docs          |         Examples          |        Changelog        |\n| :-------------------: | :-----------------------: | :---------------------: |\n|    [v29][rel-docs]    |    [v29][rel-examples]    |    [v29][rel-change]    |\n| [`trunk`][trunk-docs] | [`trunk`][trunk-examples] | [`trunk`][trunk-change] |\n\nContributors are welcome! See [CONTRIBUTING.md][contrib] for more information.\n\n[rel-docs]: https:\u002F\u002Fdocs.rs\u002Fwgpu\u002F\n[rel-examples]: https:\u002F\u002Fgithub.com\u002Fgfx-rs\u002Fwgpu\u002Ftree\u002Fv29\u002Fexamples#readme\n[rel-change]: https:\u002F\u002Fgithub.com\u002Fgfx-rs\u002Fwgpu\u002Freleases\n[trunk-docs]: https:\u002F\u002Fwgpu.rs\u002Fdoc\u002Fwgpu\u002F\n[trunk-examples]: https:\u002F\u002Fgithub.com\u002Fgfx-rs\u002Fwgpu\u002Ftree\u002Ftrunk\u002Fexamples#readme\n[trunk-change]: https:\u002F\u002Fgithub.com\u002Fgfx-rs\u002Fwgpu\u002Fblob\u002Ftrunk\u002FCHANGELOG.md#unreleased\n[contrib]: CONTRIBUTING.md\n\n## Supported Platforms\n\n| API    | Windows      | Linux\u002FAndroid   | macOS\u002FiOS | Web (wasm)  |\n| ------ | ------------ | --------------- | --------- | ----------- |\n| Vulkan | ✅           | ✅              | 🌋        |             |\n| Metal  |              |                 | ✅        |             |\n| DX12   | ✅           |                 |           |             |\n| OpenGL | 🆗 (GL 3.3+) | 🆗 (GL ES 3.0+) | 📐        | 🆗 (WebGL2) |\n| WebGPU |              |                 |           | ✅          |\n\n✅ = First Class Support  \n🆗 = Downlevel\u002FBest Effort Support  \n📐 = Requires the [ANGLE](https:\u002F\u002Fgithub.com\u002Fgfx-rs\u002Fwgpu\u002Fwiki\u002FRunning-on-ANGLE) translation layer (GL ES 3.0 only)  \n🌋 = Requires the [MoltenVK](https:\u002F\u002Fvulkan.lunarg.com\u002Fsdk\u002Fhome#mac) translation layer  \n🛠️ = Unsupported, though open to contributions\n\n## Environment Variables\n\nTesting, examples, and `::from_env()` methods use a standardized set of environment variables to control wgpu's behavior.\n\n- `WGPU_BACKEND` with a comma-separated list of the backends you want to use (`vulkan`, `metal`, `dx12`, or `gl`).\n- `WGPU_ADAPTER_NAME` with a case-insensitive substring of the name of the adapter you want to use (ex. `1080` will match `NVIDIA GeForce 1080ti`).\n- `WGPU_DX12_COMPILER` with the DX12 shader compiler you wish to use (`dxc`, `static-dxc`, or `fxc`). Note that `dxc` requires `dxcompiler.dll` (min v1.8.2502) to be in the working directory, and `static-dxc` requires the `static-dxc` crate feature to be enabled. Otherwise, it will fall back to `fxc`.\n\nSee the [documentation](https:\u002F\u002Fdocs.rs\u002Fwgpu\u002Flatest\u002Fwgpu\u002Findex.html?search=env) for more environment variables.\n\nWhen running the CTS, use the variables `DENO_WEBGPU_ADAPTER_NAME`, `DENO_WEBGPU_BACKEND`, `DENO_WEBGPU_POWER_PREFERENCE`, and `DENO_WEBGPU_DX12_COMPILER`.\n\n## Repo Overview\n\nFor an overview of all the components in the gfx-rs ecosystem, see [the big picture](.\u002Fdocs\u002Fbig-picture.png).\n\n## MSRV policy\n\nTL;DR: If you're using `wgpu`, our MSRV is **1.87**. If you're running our tests or examples, our MSRV is **1.93**.\n\nWe will avoid bumping the MSRV of `wgpu` without good reason, and such a change is considered breaking.\n\n\u003Cdetails>\n\u003Csummary> Specific Details \u003C\u002Fsummary>\n\nDue to complex dependants, we have three MSRV policies:\n\n- `wgpu`'s MSRV is **1.87**\n- `wgpu-core` (and hence `wgpu-hal`, `naga`, and `wgpu-types`)'s MSRV is **1.87**.\n- The rest of the workspace has an MSRV of **1.93**.\n\nIt is enforced on CI (in \"\u002F.github\u002Fworkflows\u002Fci.yml\") with the `WGPU_MSRV`, `CORE_MSRV`, and `REPO_MSRV` variables, respectively.\nThis version can only be upgraded in breaking releases, though we release a breaking version every three months.\n\nThe following rules apply:\n\n- The `wgpu-core` crate should never require an MSRV ahead of Firefox's MSRV for nightly builds, as\n  determined by the value of `MINIMUM_RUST_VERSION` in [`python\u002Fmozboot\u002Fmozboot\u002Futil.py`][moz-msrv].\n- The `wgpu` crate should never require an MSRV ahead of Servo's MSRV, as determined by the value of\n  their rust-version declaration in [`Cargo.toml`][servo-msrv]\n- The repository MSRV should never require an MSRV higher than `stable - 3`. For example, if stable is\n  at 1.97, the repository MSRV should be no higher than 1.94. This is to allow people who are using a decently-updated\n  OS-provided rust to be able to build our repository. Consider cross checking with [NixOS][nixos-msrv], though this\n  is not required.\n\n[moz-msrv]: https:\u002F\u002Fsearchfox.org\u002Fmozilla-central\u002Fsource\u002Fpython\u002Fmozboot\u002Fmozboot\u002Futil.py\n[servo-msrv]: https:\u002F\u002Fgithub.com\u002Fservo\u002Fservo\u002Fblob\u002Fmain\u002FCargo.toml#L23\n[nixos-msrv]: https:\u002F\u002Fsearch.nixos.org\u002Fpackages?show=rustc\n\n\u003C\u002Fdetails>\n\n## Testing and Environment Variables\n\n[Information about testing](.\u002Fdocs\u002Ftesting.md), including where tests of various kinds live, and how to run the tests.\n\n## Tracking the WebGPU and WGSL draft specifications\n\nThe `wgpu` crate is meant to be an idiomatic Rust translation of the [WebGPU API][webgpu spec].\nThat specification, along with its shading language, [WGSL][wgsl spec],\nare both still in the \"Working Draft\" phase,\nand while the general outlines are stable,\ndetails change frequently.\nUntil the specification is stabilized, the `wgpu` crate and the version of WGSL it implements\nwill likely differ from what is specified,\nas the implementation catches up.\n\nExactly which WGSL features `wgpu` supports depends on how you are using it:\n\n- When running as native code, `wgpu` uses [Naga][naga]\n  to translate WGSL code into the shading language of your platform's native GPU API.\n  Naga is working on catching up to the WGSL specification,\n  with [bugs][naga bugs] tracking various issues,\n  but there is no concise summary of differences from the specification.\n\n- When running in a web browser (by compilation to WebAssembly)\n  without the `\"webgl\"` feature enabled,\n  `wgpu` relies on the browser's own WebGPU implementation.\n  WGSL shaders are simply passed through to the browser,\n  so that determines which WGSL features you can use.\n\n- When running in a web browser with `wgpu`'s `\"webgl\"` feature enabled,\n  `wgpu` uses Naga to translate WGSL programs into GLSL.\n  This uses the same version of Naga as if you were running `wgpu` as native code.\n\n[webgpu spec]: https:\u002F\u002Fwww.w3.org\u002FTR\u002Fwebgpu\u002F\n[wgsl spec]: https:\u002F\u002Fgpuweb.github.io\u002Fgpuweb\u002Fwgsl\u002F\n[naga]: https:\u002F\u002Fgithub.com\u002Fgfx-rs\u002Fwgpu\u002Ftree\u002Ftrunk\u002Fnaga\u002F\n[naga bugs]: https:\u002F\u002Fgithub.com\u002Fgfx-rs\u002Fwgpu\u002Fissues?q=is%3Aissue%20state%3Aopen%20label%3A%22naga%22\n","wgpu 是一个跨平台、安全且纯 Rust 实现的图形 API。该项目支持 Vulkan、Metal、D3D12 和 OpenGL 等原生图形后端，并能在 Web 平台上通过 WebGL2 和 WebGPU 运行。基于 WebGPU 标准，wgpu 提供了完整的 Rust 库实现，被 Firefox、Servo 和 Deno 项目用于 WebGPU 集成。其核心功能包括高性能渲染、广泛的平台兼容性以及对现代图形硬件特性的良好支持。适用于需要跨平台图形能力的应用开发场景，如游戏引擎、数据可视化工具或任何需要直接访问 GPU 功能的软件。此外，wgpu 社区活跃，提供了丰富的学习资源和多语言绑定，便于开发者上手使用。",2,"2026-06-11 03:03:15","top_language"]