license :
Terreate is a 3D game library for C++. This repository is designed for creating 3D games with OpenGL without the annoying of state based programming.
Note
Terreate has its own wiki page that provides more details about, including a quick start guide, API definitions, and more!
These packages are used in this library.
- SDL
Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D. It is used by video playback software, emulators, and popular games including Valve's award winning catalog and many Humble Bundle games. SDL officially supports Windows, macOS, Linux, iOS, and Android. Support for other platforms may be found in the source code. SDL is written in C, works natively with C++, and there are bindings available for several other languages, including C# and Python. SDL is distributed under the zlib license. This license allows you to use SDL freely in any software.
from SDL website - glad
Multi-Language Vulkan/GL/GLES/EGL/GLX/WGL Loader-Generator.
from glad website - glm
OpenGL Mathematics (GLM) is a header only C++ mathematics library for graphics software based on the OpenGL Shading Language (GLSL) specifications.
from GLM README.md - freetype
FreeType is a freely available software library to render fonts. It is written in C, designed to be small, efficient, highly customizable, and portable while capable of producing high-quality output (glyph images) of most vector and bitmap font formats.
from FreeType website
This library uses cmake to build the projects so make sure to install cmake before building this library.
There is no additional dependence to build this library on Windows.
If you are using linux environment, these packages are needed to build and execute.
(Package names might be different in package managers. The names listed below are example in nix)
- alsa-lib
- hidapi
- ibus
- dbus
- jack2
- libdecor
- libGL
- libpulseaudio
- libusb1
- libsysprof-capture
- libdrm
- xorg.libX11
- xorg.libXcursor
- xorg.libXinerama
- xorg.libXrandr
- xorg.libXi
- xorg.libXext
- xorg.libXrender
- xorg.libXtst
- libxkbcommon
- mesa
- pipewire
- sndio
- wayland
- wayland-protocols
Note
If you are using nix package manager and direnv, dependence installing is automatically executed.
Important
Make sure you installed cmake before building.
In this example, build outputs are stored in <REPOSITRY ROOT DIR>/build/ folder.\
- Default: ON
- Specifies whether to build test code.
- Default: OFF
- Specifies whether to build in debug mode. In debug mode,
TERREATE_DEBUG_MODEis automatically defined bycmake.
Make sure you installed dependencies before building.
cmake -S . -B build
cmake --build buildnix develop // if you have direnv, use `direnv allow` to automatically enter the environment
cmake -S . -B build
cmake --build build
This repository is provided under the BSD-3-CLAUSE license. So you can use this library whatever you want.
If you want to contact me, please send an e-mail to upiscium@gmail.com.