Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/joelbeedle/rust-renderer
Basic renderer and camera in rust using only minifb to render point clouds
https://github.com/joelbeedle/rust-renderer
Last synced: 6 days ago
JSON representation
Basic renderer and camera in rust using only minifb to render point clouds
- Host: GitHub
- URL: https://github.com/joelbeedle/rust-renderer
- Owner: joelbeedle
- Created: 2024-06-02T19:31:02.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-10-24T21:18:09.000Z (3 months ago)
- Last Synced: 2024-10-26T08:53:09.272Z (2 months ago)
- Language: Rust
- Size: 337 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# rust-renderer
Fun project I did to help me to learn rust.
Essentially a renderer that can take a 3D model and render it, using only `minifb` for the window and frame buffer creation.
It can take `.obj` and `.off` files and render them, with multiple types of lighting available.
Also has support for Bézier patch conversions into triangles at varying resolutions.
## Features
- [Back-face culling](https://en.wikipedia.org/wiki/Back-face_culling)
- [Painters algorithm](https://en.wikipedia.org/wiki/Painter%27s_algorithm)
- [Flat Shading](https://en.wikipedia.org/w/index.php?title=Shading§ion=13#Flat_shading)
- [Gouraud Shading](https://en.wikipedia.org/wiki/Gouraud_shading)
- [Phong Shading](https://en.wikipedia.org/wiki/Phong_shading)## TODO
- [ ] Add depth buffer
- [ ] Formalise functions to make it easier to use
- [ ] Allow lighting selections
- [ ] Simplify example binary
- [ ] Textures?