https://github.com/tomsavas/simpletons-renderer
Simple software renderer that draws directly on linux framebuffer
https://github.com/tomsavas/simpletons-renderer
framebuffer graphics
Last synced: 10 months ago
JSON representation
Simple software renderer that draws directly on linux framebuffer
- Host: GitHub
- URL: https://github.com/tomsavas/simpletons-renderer
- Owner: TomSavas
- License: mit
- Created: 2020-05-27T19:16:51.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2020-07-08T19:54:50.000Z (over 5 years ago)
- Last Synced: 2024-10-04T19:44:33.163Z (about 1 year ago)
- Topics: framebuffer, graphics
- Language: C++
- Homepage:
- Size: 454 KB
- Stars: 5
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Simpleton's renderer
Simplistic software renderer that works directly on Linux framebuffer.
This is basically just me following
[this wonderful repo](https://github.com/ssloy/tinyrenderer) as a guide.
`tgaimage` and (most of) `model` implementations are taken directly from that repo.
I plan on redoing the model myself sometime later.
## Renders

Model does not belong to me, nor do I have the permission to redistribute it, however [this guy can](https://github.com/ssloy/tinyrenderer/tree/master/obj/diablo3_pose).
## Running
This is written with Linux in mind, so it will not work on Windows and most likely
MacOS. The application draws directly on the framebuffer, so you'll need to switch
to a TTY as otherwise X or Wayland will prevent from anything being displayed. You'll
also need to run it with sudo as it mmaps `/dev/fb0`.
## Todos
- I tanked the performance after rewriting the vectors
+ Potentially make them mutable to save on the amount of objects created?
+ Try to change the vector implementation to not use CRTP although I have no
idea why that would improve anything.
- Add specular maps
- Add emission maps
## License
This project is licensed under MIT License - see [LICENSE](LICENSE) file for details.