Skip to content

editor toolchain for the paradigm engine project

Notifications You must be signed in to change notification settings

JessyDL/assembler

Repository files navigation

Language: C++20 Using: Vulkan Unit Test Status Git last commit

Assembler

The assembler project is a Command Line Interface tool to manipulate and generate various data structures that the engine can consume. Using assembler you can compile shaders that generates their companion core::meta::shaders, import models using assimp v4.1.0, setup a meta::library, generate meta::files, and more.

Prerequisites

CMake 3.11 or higher is required on all platforms.

Transitive requirements from dependencies (particularly paradigm's dependencies)

Building

Note that the paradigm submodule heavily influences the building of the project.

using build.py The build script is a helper script to set everything up quick and easy. It will generate a solution in the /project_file/{generator}/{architecture}/ folder by default, and when building it will output to /builds/{generator}/{architecture}/. You can tweak various settings and values, you'll find them at the top of the build.py file.

cmake

The less easy way, but perhaps better and easier to integrate into existing projects. The values that are required to be set can be seen in the cmake invocation in build.py (and in the paradigm submodule), but will be repeated here: -DBUILD_DIRECTORY="path/to/where/to/build/to" (not to be confused with where the project files will be) -DPE_VULKAN_VERSION: string based value that is a 1-1 match with an available tag in the Vulkan-Headers repository. These will be downloaded and used. -DPE_VULKAN toggle value to enable/disable vulkan backend. (default ON) -DPE_GLES toggle value to enable/disable gles backend (default ON)

Running

After building the project, it should be automatically set up to run. When executing you should be greeted with a screen similar to this (after executing the --help command).

Commands

assembler can be used in 2 modes, either directly by starting up the binary, or by invoking it from another command line tool and sending it arguments. When unsure what to do, write --help or -h, and information will be printed on the current actions that can be done. To quit, write --quit or -q.

When invoking from a script, or through another command line tool or terminal, and you want to send multiple parameters, use the | symbol to pipe together commands.

Be sure not to forget to send the --quit command when executing from a script or terminal. The default mode is interactive and so it will check for std::cin while it has not received a clear quit command.

Dependencies

There are also various external dependencies used, the following is the list of all direct external dependencies assembler has. It is assumed the dependency version is the latest available unless explicitly stated. Many of these dependencies also pull in more dependencies. Verify on the project pages directly what these are.

License

The assembler project, and all code below this file's tree is licensed under GNU AGPLv3. As long as attribution is added of what the original source is, and a link to this repository (https://github.com/JessyDL/assembler).

About

editor toolchain for the paradigm engine project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages