Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/justahero/noire-rs
A small 3d rendering engine written in Rust and OpenGL
https://github.com/justahero/noire-rs
3d gl-shaders graphics opengl raymarching rendering rust
Last synced: about 1 month ago
JSON representation
A small 3d rendering engine written in Rust and OpenGL
- Host: GitHub
- URL: https://github.com/justahero/noire-rs
- Owner: justahero
- Created: 2017-09-16T14:39:31.000Z (about 7 years ago)
- Default Branch: main
- Last Pushed: 2021-05-30T11:42:26.000Z (over 3 years ago)
- Last Synced: 2023-03-25T13:59:30.512Z (over 1 year ago)
- Topics: 3d, gl-shaders, graphics, opengl, raymarching, rendering, rust
- Language: Rust
- Homepage:
- Size: 1020 KB
- Stars: 9
- Watchers: 2
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: Readme.md
Awesome Lists containing this project
README
noire-rs
--------A minimal 3d rendering library written in Rust, it's mostly a port from existing code. It is first and foremost designed to experiment with Open GL shaders.
# Build
First install [cargo-watch](https://github.com/passcod/cargo-watch) to constantly compile the project while changing code.
```shell
cargo install cargo-watch
```Then run the watch task
```shell
cargo watch -c -x "+nightly build"
```# Examples
There are a number of example applications using this library, found in the [examples](./examples) folder. Run
```shell
cargo run --example
```to list the examples.
To run one example. e.g. `triangles` run
```shell
cargo run --example triangles
```The latter example also supports live editing of the shader files, check shader files, open files in `./examples/triangles/shaders` in your text editor, edit and save it. If the new shader code compiles successfully, changes are applied immediately or otherwise error logs are displayed in the terminal.
## Other Frameworks / Projects
Low level libraries
* [cgmath](https://github.com/rustgd/cgmath) - a linear algebra and math library for computer graphics
* [gfx-rs/wgpu](https://github.com/gfx-rs/wgpu-rs) - an idiomatic wrapper library around [WebGPU](https://www.w3.org/community/gpu/) implementation
* [image](https://github.com/image-rs/image) - a fast image processing library
* [spirv-reflect](https://github.com/gwihlidal/spirv-reflect-rs) - a reflection API to analyze SPIR-V shader byte code
* [ultraviolent](https://github.com/termhn/ultraviolet) - a fast linear & geometric algebra library
* [winit](https://github.com/rust-windowing/winit) - a cross platform window handling libraryEngines / Frameworks
* [amethyst](https://github.com/amethyst/amethyst) - data driven & data oriented game engine
* [bevy](https://github.com/bevyengine/bevy/) - a modern data driven engine
* [coffee](https://github.com/hecrj/coffee) - a 2D game engine
* [ggez](https://github.com/ggez/ggez) - a 2D game engine to create Good Game Easily
* [piston](https://github.com/PistonDevelopers/piston) - a modular game engine, one of the first written
* [p5.js](https://p5js.org/) - a JavaScript library for creative coding based on [processing](https://github.com/processing/processing)