KalaWindow is a C++20 window library for Windows, built for native desktop applications for Windows with support coming for Linux in the future.
KalaWindow creates and owns the OpenGL 3.3 context but shader binding, swapping GL buffers, making context to current, checking if context is current, other GL related functions and GL core functions (+ the wgl and glx ones) must come from your GL library like KalaGraphics or another GL source. This way KalaWindow stays purely a GL context initializer and a window library with input and a message loop and nothing more. KalaGraphics also provides a full UI framework with a widget system.
KalaAudio is recommended to be used for audio playback and audio streaming.
Features built into KalaWindow:
- windowing with support for multiple windows
- input (keyboard and mouse)
- native message loop
- built in crash handler (previously known as KalaCrashHandler, now only maintained in this repository codebase)
- OpenGl 3.3 context
| Platform | Status | Notes |
|---|---|---|
| Windows | Supported | Requires Windows 10 (build 1809 / 17763) or higher |
| Linux | Planned | Support coming in a future version |
| WebGL | Planned | Support coming in a future version |
| Mac | Not Supported | No plans for macOS compatibility |
| ARM | Not Supported | ARM architecture will not be targeted |
| Console | Not Supported | No plans for console platforms |
| Mobile | Not Supported | No plans for mobile platforms |
| Render Pipeline | Status | Notes |
|---|---|---|
| OpenGL | Supported | Internally locked to OpenGL 3.3 |
| Vulkan | Planned | Support for Vulkan 1.3 coming in a future version |
| DirectX | Not Supported | No plans for DirectX compatibility |
| MoltenVK | Not Supported | No plans for MoltenVK compatibility |
Some KalaWindow headers pull in official GL extension headers:
opengl_functions_core.hppincludesglcorearb.handglext.hopengl_functions_win.hppincludeswgleht.hppopengl_functions_linux.hppincludesglxeht.hpp
Send me an email at sanderveski@gmail.com or message me on discord at greenlaser if you want your game or program you made with KalaWindow to be listed here
