https://github.com/jerboaburrow/jgl
A Cross-platform graphics library with OpenGL or Vulkan backends
https://github.com/jerboaburrow/jgl
android cpp linux macos opengl vulkan windows
Last synced: 5 months ago
JSON representation
A Cross-platform graphics library with OpenGL or Vulkan backends
- Host: GitHub
- URL: https://github.com/jerboaburrow/jgl
- Owner: JerboaBurrow
- License: mit
- Created: 2023-10-18T06:40:56.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-03-12T14:46:34.000Z (over 1 year ago)
- Last Synced: 2025-03-26T12:47:08.144Z (over 1 year ago)
- Topics: android, cpp, linux, macos, opengl, vulkan, windows
- Language: C++
- Homepage:
- Size: 60 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 15
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## jGL
### cross-platform graphics, abtracting OpenGL and Vulkan for 2D graphics/gamedev
This library aims to provide a simple API for 2D graphics applications in C++, targeting multiple platforms: linux, windows, macOS, and Android (and maybe IOS).
Versions 0.0.X will progressively define an API.
Currently OpenGL is the main vehicle for functionality, the Vulkan backend is a shell. Once the API is reasonably solid the Vulkan side will be brought up to date for 0.1.0.
IOS depends on how easy Vulkan is to integrate with an IOS app, we may opt for https://developer.apple.com/metal/cpp/
### Documentation
[Doxygen docs are hosted here, in step with main](https://jerboaburrow.github.io/jGL/)
### Cross platform status
linux/macOS/windows: [](https://github.com/JerboaBurrow/jGL/actions/workflows/release.yml)
### Features
- [ ] Window managent and I/O
- [x] Single window creation
- [x] Mouse and keyboard events
- [x] Frame locking
- [ ] Snapping/resizing
- [ ] Multi-windowing
- [ ] Basic ui (dearimgui?)
- [ ] Sprites
- [x] Texture atlasing/texture region support.
- [x] Texture management
- [ ] Animations
- [ ] Particles
- [x] Textured/untextured
- [ ] Dynamics API
- [ ] Text
- [x] FreeType font rendering
- [ ] Automatic alignment/wrapping
- [ ] Shapes
- [ ] Circles
- [ ] Polygon
- [ ] Lines