Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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

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&section=13#Flat_shading)
- [Gouraud Shading](https://en.wikipedia.org/wiki/Gouraud_shading)
- [Phong Shading](https://en.wikipedia.org/wiki/Phong_shading)

image

## TODO

- [ ] Add depth buffer
- [ ] Formalise functions to make it easier to use
- [ ] Allow lighting selections
- [ ] Simplify example binary
- [ ] Textures?