Skip to content

Latest commit

 

History

History
42 lines (32 loc) · 1.45 KB

README.md

File metadata and controls

42 lines (32 loc) · 1.45 KB

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

Cross platform status

linux/macOS/windows: jGL release

Features

  • Window managent and I/O
    • Single window creation
    • Mouse and keyboard events
    • Frame locking
    • Snapping/resizing
    • Multi-windowing
    • Basic ui (dearimgui?)
  • Sprites
    • Texture atlasing/texture region support.
    • Texture management
    • Animations
  • Particles
    • Textured/untextured
    • Dynamics API
  • Text
    • FreeType font rendering
    • Automatic alignment/wrapping
  • Shapes
    • Circles
    • Polygon
    • Lines