A small game-oriented framework powered by V, SDL2 and GLES2.
This project started as a learning experience for myself to learn usage of OpenGL, wanting to have something that could compile for small, embedded handheld consoles like an Anbernic RG350. As such, this is something of a hobby project of mine, which I work on on and off when I find some time to work on a feature, one at a time.
This project depends on the V SDL wrapper and vqoi
Currently it compiles fine under Linux, but not on Windows due to some odd mismatched types. Mac as of now remains untested. If you wish to use this library, make sure you have SDL2
and SDL2_image
libraries installed.
Sorry if you find some messy code, but feel free to explore. :)
I probably would still have no idea what I was doing if it wasn't for the people before me who had done similar endeavours. If you would also try your hand at learning OpenGL, I highly recommend the following:
- VoxelRift's video on a quick and easy OpenGL renderer
- Cherno's series on YouTube about OpenGL
- learnopengl.com
But also thanks to these people who put work on their own fantastic things:
- Prime31, who made work on via
- All the contributors who made a nice V wrapper of the SDL library
- Raysan5, who created the RRES library
- RandyGaul, who made pretty cute headers
- Everyone involved with the V programming language
No doubt I will probably be updating this list as time goes on.
Currently this library is a work in progress, and has quite a few unfinished features. Below is a rough todo.
- Renderer
- Textures
- Shaders
- Static batching
- Transforms
- Text rendering (via fontstash)
- BMFont support
- Framebuffers
- Immediate-mode UI (via microui)
- On-demand texture batching (via cute_spritebatch)
- NodeTree based Scene graph
- Resources
- Basic loading of images and shaders.
- RRES support
- Collisions
- Port via collisions
- Audio
- Buses
- Basic audio playback
- Streaming audio playback
- PXTone music (via libmpxtn)
- DSP Effects
- Scripting (via Wren)
- Export library functions to be accessible through Wren
- Potentially automate generating foreign interfaces at compile time?
Unless otherwise stated, this code is licensed under the MIT license.