Here is my small software renderer (kind of OpenGL for small computers). For testing I’ve created a model viewer and ported it to Gamebuino META as well. I’ve already created a similar raycasting demo on GB, you can check that out for context. Don’t forget to compile with -O3 for performance!
Sadly, GB forums only support GitHub, not GitLab, so I can’t share my repo the proper way! Here is the link:
As I’ve expected this kind of true 3D is pretty resource demanding and the usability is limited (in this sense, my raycastlib is much more practically usable). This means you can’t simply go creating full 3D games and expect high FPS, but you can comfortably use this to make your ordinary games extra shiny by adding small 3D GUI elements, a 3D game logo at the start screen, prerendering sprites and backgrounds etc. With smaller rendered models I’ve gotten to very smooth FPS. With some extra cleverness and optimization, maybe even improving the library, I think there is still room to achieve something greater – I’ll leave this to you, my hackers
You should find all the details in the README and the source code, I tried to document everything pretty well.
I’d be very glad if you kept the spirit and shared your derivative creations as free and open source as well, but it is not a requirement. The library is public domain, free of any restrictions.