Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/EmbarkStudios/rust-gpu
🐉 Making Rust a first-class language and ecosystem for GPU shaders 🚧
https://github.com/EmbarkStudios/rust-gpu
gpu-programming rust shaders
Last synced: 2 months ago
JSON representation
🐉 Making Rust a first-class language and ecosystem for GPU shaders 🚧
- Host: GitHub
- URL: https://github.com/EmbarkStudios/rust-gpu
- Owner: EmbarkStudios
- License: apache-2.0
- Created: 2020-07-24T09:36:51.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-09-15T17:29:21.000Z (4 months ago)
- Last Synced: 2024-10-28T18:58:16.547Z (2 months ago)
- Topics: gpu-programming, rust, shaders
- Language: Rust
- Homepage: https://shader.rs
- Size: 248 MB
- Stars: 7,322
- Watchers: 92
- Forks: 247
- Open Issues: 117
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE-APACHE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
- programming-awesome-list - rust-gpu - Making Rust a first-class language and ecosystem for GPU code (Libraries & Frameworks: / Graphics)
- StarryDivineSky - EmbarkStudios/rust-gpu - V 中特定功能的支持。从历史上看,在游戏中,GPU编程是通过编写HLSL或在较小程度上GLSL完成的。这些是简单的编程语言,多年来随着渲染 API 的发展而发展。然而,随着游戏引擎的发展,这些语言未能提供处理大型代码库的机制,并且与其他编程语言相比,它们通常落后于曲线。我们希望通过这个项目,通过将现有的、低级的、安全的、高性能的语言引入GPU来推动行业向前发展;即 Rust。随之而来的是一些不容忽视的额外好处:业界最好的封装/模块系统之一,内置安全对抗竞争条件或越界内存访问,各种工具和实用程序来改进程序员工作流程,以及许多其他工具和实用程序! (游戏 / 网络服务_其他)
- awesomeLibrary - rust-gpu - 🐉 Making Rust a first-class language and ecosystem for GPU shaders 🚧 (语言资源库 / rust)
- awesome-cuda-triton-hpc - rust-gpu - gpu?style=social"/> : 🐉 Making Rust a first-class language and ecosystem for GPU shaders 🚧 [shader.rs](https://shader.rs/) (Frameworks)
- awesome-cuda-triton-hpc - rust-gpu - gpu?style=social"/> : 🐉 Making Rust a first-class language and ecosystem for GPU shaders 🚧 [shader.rs](https://shader.rs/) (Frameworks)
- awesome-rust-list - rust-gpu - gpu?style=social"/> : 🐉 Making Rust a first-class language and ecosystem for GPU shaders 🚧 [shader.rs](https://shader.rs/). (GPU Programming)
- awesome-rust-gamedev - rust-gpu - class language and ecosystem for GPU shaders. ![stars](https://img.shields.io/github/stars/EmbarkStudios/rust-gpu) (Graphics)
- awesome-rust-gamedev - rust-gpu - class language and ecosystem for GPU shaders. ![stars](https://img.shields.io/github/stars/EmbarkStudios/rust-gpu) (Graphics)
- awesome-rust-list - rust-gpu - gpu?style=social"/> : 🐉 Making Rust a first-class language and ecosystem for GPU shaders 🚧 [shader.rs](https://shader.rs/). (GPU Programming)
README
# `🐉 rust-gpu`
**Rust as a first-class language and ecosystem for GPU graphics & compute shaders**
## This project has moved home!
This repository was the nursery of `rust-gpu` during its inception and while it was still under the
stewardship of [Embark Studios](https://embark.dev/). It has now moved into community ownership
under the Rust-GPU GitHub organization. `rust-gpu` is still used by Embark and this repository still
gets used for work specific to us. However, its main home has relocated to the community.### [**Active development continues in its new home, under the Rust-GPU org!**](https://github.com/Rust-GPU/rust-gpu)
## How `rust-gpu` began
Historically in games GPU programming has been done through writing either HLSL, or to a lesser extent GLSL. These are simple programming languages that have evolved along with rendering APIs over the years. However, as game engines have evolved, these languages have failed to provide mechanisms for dealing with large codebases, and have generally stayed behind the curve compared to other programming languages.
In part this is because it's a niche language for a niche market, and in part this has been because the industry as a whole has sunk quite a lot of time and effort into the status quo. While over-all better alternatives to both languages exist, none of them are in a place to replace HLSL or GLSL. Either because they are vendor locked, or because they don't support the traditional graphics pipeline. Examples of this include CUDA and OpenCL. And while attempts have been made to create language in this space, none of them have gained any notable traction in the gamedev community.
Our hope with this project is that we push the industry forward by bringing an existing, low-level, safe, and high performance language to the GPU; namely [Rust](https://rust-lang.org). And with it come some additional benefits that can't be overlooked: a package/module system that's one of the industry's best, built in safety against race-conditions or out of bounds memory access, a wide range of tools and utilities to improve programmer workflows, and many others!
## Backwards compatibility, breaking changes and deprecation
Right now because the project is in an early state of development, we might introduce temporary changes as stop-gap measures, or implement features or APIs that might not work exactly in a way we end up liking. Therefore it is expected that some (if not most) of the user facing code will change and evolve over time. At the moment this means that we make no guarantees about backwards compatibility and have no formal deprecation model in place. Effectively meaning that currently we only support building from source with the latest `main` branch in our repository. We appreciate our early adopters and would ask them to evolve their code along with ours.
Please read our [Contributor Guide](CONTRIBUTING.md) for more information on how to get started.
## License
Licensed under either of
- Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or )
- MIT license ([LICENSE-MIT](LICENSE-MIT) or )at your option.