Skip to content

Commit

Permalink
more tweaks
Browse files Browse the repository at this point in the history
  • Loading branch information
thedocruby committed Nov 6, 2023
1 parent ed35700 commit e72dc01
Showing 1 changed file with 6 additions and 6 deletions.
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,25 +10,25 @@

- **Gravy is an framework *and* a toolkit.** You can build applications with Gravy in flexible ways. Whether using the Gravy IDE as a development framework (like a game engine), or using `gravylib` directly as a toolkit (like e.g. `raylib`), the creative possibilities are endless.
- **Gravy is a development environment.** Like Shadertoy, Gravy gives you the power to build amazing and beautiful shader programs, without having to worry about asset loading, windowing, i/o, graphics APIs, etc. You can focus on building your masterpiece, and leave the dirty work to us.
- **Gravy is a node graph.** Like ShaderGraph, `gravylib` allows you to build your shader program quickly and intuitively with a simple node-oriented API. Eventually, the Gravy IDE will even have a built-in visual node editor!
- **Gravy is Rusty.** Featuring a core built on Embark's [`rust-gpu`](https://github.com/EmbarkStudios/rust-gpu), `gravylib` lets you leverage the power of the beautiful [Rust Programming Language](https://www.rust-lang.org/), to make more complex and powerful shaders than ever possible before, and all without the need to write everything by hand.
- **Gravy is a node graph.** Like ShaderGraph, `gravylib` allows you to build your shader program quickly and intuitively with a simple node-oriented API. Once the API is stable, `gravylib` will be used to build an IDE-like experience for Gravy, with a visual node editor for easily building managing your render graph.
- **Gravy is Rusty.** Featuring a core built on Embark's [`rust-gpu`](https://github.com/EmbarkStudios/rust-gpu), `gravylib` lets you leverage the power of the modern and powerful [Rust Programming Language](https://www.rust-lang.org/). With Gravy, you can make more complex and beautiful shaders than ever possible before, with the most developer friendly programming experience of our age.[^1]

#### *For the nerds:*

*More technically, `gravylib` is an attempt to build a modern programming framework and development toolkit to enable GPU-first development. It builds on [`rust-gpu`](https://github.com/EmbarkStudios/rust-gpu) as a backend to convert Rust syntax into a GPU program, and then makes use of [`wgpu`](https://github.com/gfx-rs/wgpu) and [`winit`](https://github.com/rust-windowing/winit) to run the program with cross-platform support. Gravy is usable as a standalone Rust library crate (`gravylib`), but the goal is to build an IDE-like experience on top of `gravylib` to make GPU-first development simple and accessible for all developers.*
*More technically, `gravylib` is an attempt to build a modern programming framework and development toolkit to enable GPU-first development. It builds on [`rust-gpu`](https://github.com/EmbarkStudios/rust-gpu) as a backend to compile Rust syntax into SPIR-V bytecode, and then makes use of [`wgpu`](https://github.com/gfx-rs/wgpu) and [`winit`](https://github.com/rust-windowing/winit) to run the program on the GPU with cross-platform support. Gravy is usable as a standalone Rust library crate (`gravylib`), but the goal is to build an IDE-like experience on top of `gravylib` to make GPU-first development simple and accessible for all developers.*

## Why Gravy?

Perhaps the most compelling feature of Gravy is **shader crates**. Using Rust's [official package manager](https://github.com/rust-lang/cargo) and [public user repository](https://crates.io/), you can build your own Rust packages (called *crates*) with Gravy's shader framework, and **publish them for anyone to use**. Gone are the days of copy-pasting code from another dev's blog just to implement a standard technique. With package manager support, you can use the latest tools and techniques in your own piplene just by adding the package to your project. When you start using shader crates, shader development quickly becomes more powerful and more dev-friendly at the same time.
Perhaps the most compelling feature of Gravy is **shader crates**. Using Rust's [official package manager](https://github.com/rust-lang/cargo) and [public user repository](https://crates.io/), you can build your own Rust packages (called **crates**) with Gravy's shader framework, and **publish them for anyone to use**. Gone are the days of copy-pasting code from another dev's blog just to implement a standard technique. With package manager support, you can use the latest tools and techniques in your own piplene just by adding the package to your project. When you start using shader crates, shader development quickly becomes more powerful and more dev-friendly at the same time.

On top of that, Gravy takes Still, Rust has more to give to shader devs; It's also the most developer friendly language of our age, **rated highest in developer satisfaction for the last 8 years!**[^1] For an industry plagued by confusing errors and complex code bases, this is a much needed improvement. It also lowers the barrier to entry for learning shader development, by using a language people already know and love, instead of requiring developers to learn an entirely new language.
Still, Rust has more to give to shader devs; it's also the most developer friendly language of our age, **rated highest in developer satisfaction for the last 8 years!**[^1] For an industry plagued by confusing errors and complex code bases, this is a much needed improvement. It also lowers the barrier to entry for learning shader development, by using a language people already know and love, instead of requiring developers to learn an entirely new language.

But it doesn't end there. Gravy empowers the devs of today to create the **digital masterpieces of tomorrow**, with powerful features like **node-based render graphs**, **platform-agnostic APIs**, and more. **This is the future of shader dev.**

## Where do I start?

If you would like to try it out, head over to the [official example repo](https://github.com/thedocruby/gravylib_examples) for a tutorial of sorts.
**_However_**, this project is still a **Work In Progress**: The structure and API is in a highly fluid state and is constantly being reworked. Keep this in mind before starting any big projects.
**_However_**, this project is still a **Work In Progress**: The structure and API are in a highly fluid state and are constantly being reworked. Keep this in mind before starting any big projects with `gravylib`.

To learn more about the project, you can join the [**Discord**](https://discord.gg/7cBw5KHe6q).

Expand Down

0 comments on commit e72dc01

Please sign in to comment.