All checks were successful
Run ReCI Build Test / Explore-Gitea-Actions (push) Successful in 2m13s
Josh's Graphics Library
Yet Another C++ Rendering Toolkit
Features
- Modern C++ (20).
- Cross Platform (Linux & Windows 10 1909 or newer).
- Provides single-function-calls to render various graphics in 2D and 3D.
- Integrates right into an existing OpenGL rendering system.
- Quick Rendering of Text, Shapes, Sprites / Textures, etc.
- High-performance text rendering.
- Little-to-no overhead.
API Overview
J2D
- DrawPoint
- DrawLine / DrawGradientLine / DrawDottedLine / DrawDashedLine / DrawLines
- DrawSprite / DrawPartialSprite
- DrawRenderTarget / DrawPartialRenderTarget
- OutlineRect / OutlineRoundedRect / OutlineChamferRect
- FillRect / FillGradientRect / FillRoundedRect / FillChamferRect
- OutlineCircle / FillCircle
- OutlineTriangle / FillTriangle / FillGradientTriangle
- DrawString
- DrawCubicBezierCurve
- DrawArc
- OutlineEllipse / FillEllipse
J3D
- DrawLine
- DrawString
- DrawMatrixGizmo (WIP)
- DrawAxisAngleGizmo (WIP)
- DrawQuaternionGizmo (WIP)
Types
- RenderTarget
- VRamList
- Texture
- Font
Usage
// Makes sure the glViewport will be the correct size.
// Typically done once per frame.
JGL::Update(window_size);
JGL::J2D::Begin();
JGL::J2D::FillRect(Colors::Blue, {0,0}, {16,16});
JGL::J2D::End();
// See the example program in main.cpp for more in-depth usage.
Requirements
An OpenGL 2.1 or newer accelerator with at-least two texture mappers that supports the GL_ARB_framebuffer_object
extension or
an implementation that can provide those features through alternative means (common on ArmSoC and Risc-V).
Compatability
- AMD ✓
- NVIDIA ✓
- Intel ✓
- Zink (OpenGL-on-Vulkan) ✓
- GL4ES ✓
Documentation
Documentation is available here.
Contributing
Contributions to JGL are welcome! If you find a bug, have a feature request, or would like to contribute code, please submit an issue or pull request to our repository!
Acknowledgements
JGL is developed and maintained by Josh O'Leary @ Co from Redacted Software and contributors. Special thanks to Redacted.
Description
Prerelease-2
Latest
Languages
C++
79.3%
C
19.7%
GLSL
0.8%
CMake
0.2%