Giter VIP home page Giter VIP logo

almond's Introduction

Almond Editor License

(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.

Getting Started

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.

  1. Start by cloning this repository and then run git submodule update --init --recursive --remote --recommend-shallow --depth 1 --progress to fetch the dependencies.

  2. 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)

    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.

  3. 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 the CC and CXX 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.

  4. Compile the project:

    Open up a terminal, cd into PROJECT_ROOT/build/debug (or PROJECT_ROOT/build/release) and invoke your build system (e.g make).

    make -j8
  5. Run the editor:

    Navigate to the project root and run:

    build/debug/bin/almond # or build/release/bin/almond

almond's People

Contributors

enix403 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.