Skip to content
This repository has been archived by the owner on May 18, 2023. It is now read-only.

Latest commit

 

History

History
56 lines (38 loc) · 2.22 KB

Readme.md

File metadata and controls

56 lines (38 loc) · 2.22 KB

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 to constantly compile the project while changing code.

cargo install cargo-watch

Then run the watch task

cargo watch -c -x "+nightly build"

Examples

There are a number of example applications using this library, found in the examples folder. Run

cargo run --example

to list the examples.

To run one example. e.g. triangles run

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 - a linear algebra and math library for computer graphics
  • gfx-rs/wgpu - an idiomatic wrapper library around WebGPU implementation
  • image - a fast image processing library
  • spirv-reflect - a reflection API to analyze SPIR-V shader byte code
  • ultraviolent - a fast linear & geometric algebra library
  • winit - a cross platform window handling library

Engines / Frameworks

  • amethyst - data driven & data oriented game engine
  • bevy - a modern data driven engine
  • coffee - a 2D game engine
  • ggez - a 2D game engine to create Good Game Easily
  • piston - a modular game engine, one of the first written
  • p5.js - a JavaScript library for creative coding based on processing