(An ongoing attempt to create) A simple 3D model editor.
Almond is an early stage simple and interactive 3D model editor. Not much is implemented currently.
Note: This is just a hobby project, nothing serious.
Almond is written in C++17 and uses CMake as its build system. It is being developed primarily on Linux and is untested on other platforms such as Windows. It uses OpenGL as rendering backend.
-
Start by cloning this repository and then run
git submodule update --init --recursive --remote --recommend-shallow --depth 1 --progress
to fetch the dependencies. -
Get the required stuff:
Almond requires OpenGL 4.2 or newer to be installed on your system. Make sure you have the following dependencies installed on your system.
- A C/C++ Compiler (Almond is tested with gcc and clang)
- CMake (3.10 or newer)
- pkg-config
- GLFW3 (libglfw)
- Ensure that GLFW3 is accessible by pkg-config by runnning
pkg-config --cflags --libs glfw3
and verifying that the output of the command is non-empty. (If it is empty then something is wrong)
- Ensure that GLFW3 is accessible by pkg-config by runnning
Follow the instructions below for your operating system to install the above dependencies.
-
Arch Linux / Manjaro
pacman -S cmake base-devel pkgconf glfw-x11 # replace glfw-x11 with glfw-wayland if you're using wayland
-
Ubuntu / Debian
apt update apt install cmake build-essential pkg-config libglfw3-dev
-
Other Distros / Operating Systems
Use your system's preferred method (i.e a package manager) to install the above mentioned dependencies.
-
Generate build files:
Run the
GenBuildFiles.sh
utility script to generate build files../GenBuildFiles.sh Debug # or Release
You can pass additional arguments, which will be passed over to the
cmake
command. You can also choose which compiler to use using theCC
andCXX
environment variables. Example:CC=/usr/bin/clang CXX=/usr/bin/clang++ ./GenBuildFiles.sh Release -G Ninja
This will generate a Release build config using clang as compiler, and use Ninja build system instead of the default one.
-
Compile the project:
Open up a terminal,
cd
intoPROJECT_ROOT/build/debug
(orPROJECT_ROOT/build/release
) and invoke your build system (e.g make).make -j8
-
Run the editor:
Navigate to the project root and run:
build/debug/bin/almond # or build/release/bin/almond