Nov0cx / Panthera

A C++ open source GameEngine. Will Support Rust, Go, C++ scripting.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

windows ubuntu
Roadmap

Disclaimer: Current development only under windows

Panthera

This is an open source C++ Game Engine under the Apache 2.0 license.
I'm planning to use Carbon-Lang in the future.

I want to implement Rust and Go as scripting languages.

Setup

In the setup phase, bazel will run 2 python scripts and install Vulkan if it isn't already installed. The script will open the Vulkan Installer there you have to download core and all debug options.

Run:

bazel run //vulkan:Packages
bazel run //vulkan:VulkanDownload

Oneliner:

git clone https://github.com/Nov0cx/Panthera.git && cd Panthera && bazel run //vulkan:Packages && bazel run //vulkan:VulkanDownload && bazel run //extern:Optick

Build

Not MSVC

Build all:

bazel build --config=not_msvc_config //...

Build core:

bazel build --config=not_msvc_config //Panthera-Core/...

Run Leopardus (Editor):

bazel run --config=not_msvc_config //Leopardus:Leopardus

For debug append '_debug' to the config name. For release builds append '_release' to the config name.

MSVC

Build all:

bazel build --config=msvc_config //...

Build core:

bazel build --config=msvc_config //Panthera-Core/...

Run Leopardus (Editor):

bazel run --config=msvc_config //Leopardus:Leopardus

For debug append '_debug' to the config name. For release builds append '_release' to the config name.

Dependencies:

We only depend on Bazel if Vulkan is already installed (otherwise python3 is needed). Bazel does the complete package management for us. If you install bazelisk, rename the file into bazel and add it to the path.

About

A C++ open source GameEngine. Will Support Rust, Go, C++ scripting.

License:Apache License 2.0


Languages

Language:C++ 86.4%Language:GLSL 6.6%Language:Python 3.8%Language:Starlark 3.2%