CGL (C Game Library) is a multipurpose library mainly for recreational coding / demo scenes / prototyping / small games / experimentation.
CGL (C Graphics Library) is a multipurpose library mainly for recreational coding / demo scenes / prototyping / small games / experimentation. This has a lot of utilities for graphics. And best of all all of it is inside a single header file cgl.h
. Also CGL is made purely in C but is also compatible with C++.
NOTE : Do not think that header only means its going to increase compile time as the implementation needs be enabled only for 1 file using #define CGL_IMPLEMENTATION
. See Examples
cgl-rs
cgl-py
Windowing library (Optional)
#define CGL_EXCLUDE_WINDOW_API
nuklear
for GUI it will mess up all glfw
callbacks so with CGL you can restore the CGL callbacks with a call to CGL_window_resecure_callbacks
Utility functionalities
Noise API
Triangulation
Artificial Intelligence
Graph Algorithms
Data structures
Logger
#define CGL_DISABLE_LOGGER
Cross Platform Networking (Optional)
#define CGL_EXCLUDE_NETWORKING
General Purpose Markov Chains (Optional) Example
Cross Platform Threading
Win32 Threads
on Windows and pthread
on Linux. (on Linux you need to link pthread
to build)Bloom
2D Collision Detection
Marching Square
Toon Post Processor
CGL Ray Cast
CGL Node Editor
CGL Audio API
CSV API
CGL Widgets (Optional)
#define CGL_EXCLUDE_WIDGETS
CGL_widgets_add_triangle
]CGL_widgets_add_quad
]CGL_widgets_add_rect
CGL_widgets_add_rect2f
]CGL_widgets_add_line
]CGL_widgets_add_circle
CGL_widgets_add_circle2f
]CGL_widgets_add_oval
, CGL_widgets_add_oval2f
]Math library
High Level OpenGL API for (Optional)
#define CGL_EXCLUDE_GRAPHICS_API
CGL Mesh API
CGL camera
Text Rendering (Optional) (Requires FreeType2)
#define CGL_EXCLUDE_TEXT_RENDER
.ttf
filesTrail Renderer
Sky Renderer (Optional)
#define CGL_EXCLUDE_SKY_RENDERER
Phong Renderer (Optional)
#define CGL_EXCLUDE_PHONG_RENDERER
Tilemap Renderer (Optional)
#define CGL_EXCLUDE_TILEMAP_RENDERER
Checkout out: here
**For more see Examples