Welcome to Terreate Wiki
Welcome to the Terreate documentation. This documentation is intended to provide a comprehensive guide to the Terreate platform, including its features, capabilities, and how to use it.
What is Terreate
Terreate is a 3D game library for C++. This repository is designed for creating 3D games with Vulkan
.
If you want to know about the licensing, see licensing section.
Let's start!
Now, let's dive into the journey of Terreate
!
Links
Library dependence
Here's the packages that are used in this library.
-
Vulkan is not a company, nor language, but rather a way for developers to program their modern GPU hardware in a cross-platform and cross-vendor fashion. The Khronos Group is a member-driven consortium that created and maintains Vulkan.
from Vulkan documentation -
GLFW is a free, Open Source, multi-platform library for OpenGL, OpenGL ES and Vulkan application development. It provides a simple, platform-independent API for creating windows, contexts and surfaces, reading input, handling events, etc.
from glfw website -
OpenAL Soft is an LGPL-licensed, cross-platform, software implementation of the OpenAL 3D audio API. It's forked from the open-sourced Windows version available originally from openal.org's SVN repository (now defunct). OpenAL provides capabilities for playing audio in a virtual 3D environment. Distance attenuation, doppler shift, and directional sound emitters are among the features handled by the API. More advanced effects, including air absorption, occlusion, and environmental reverb, are available through the EFX extension. It also facilitates streaming audio, multi-channel buffers, and audio capture.
from OpenAL-soft README.md
Build dependence
This library uses cmake
to build the projects so make sure to install cmake
before building this library.
on Windows
Install Vulkan SDK
Vulkan tutorial - Development environment explains how to set it up in detail.
with apt
Install packages below.
- vulkan-tools
- libvulkan-dev
- vulkan-validationlayers-dev
- spirv-tools
with dnf
Install packages below.
- vulkan-tools
- vulkan-loader-devel
- mesa-vulkan-devel
- vulkan-validation-layers-devel
with pacman
Install vulkan-devel
package.
Links
Building project
Make sure you installed cmake before building.
Build outputs
In this example, build outputs are stored in <REPOSITRY ROOT DIR>/build/
folder.
Cmake
options
TERREATE_BUILD_TEST
Default: ON
Specifies whether to build test code.
TERREATE_DEBUG_BUILD
Default: OFF
Specifies whether to build in debug mode. In debug mode, TERREATE_DEBUG_MODE
is defined.
Windows & Linux
Make sure you installed dependencies before building.
cmake -S . -B build
cmake --build build
nix
installed env
nix develop // if you have direnv this line is not needed.
cmake -S . -B build
cmake --build build
Link
Licensing
This repository is provided under the BSD-3-CLAUSE license. So you can use this library whatever you want.
You don't have to contact me to use.
Contact
If you want to contact me, please send an e-mail to upiscium@gmail.com
.