All Projects → godlikepanos → Anki 3d Engine

godlikepanos / Anki 3d Engine

Licence: other
AnKi 3D Engine - Vulkan backend, modern renderer, scripting, physics and more

Projects that are alternatives of or similar to Anki 3d Engine

Magnum
Lightweight and modular C++11 graphics middleware for games and data visualization
Stars: ✭ 3,728 (+441.86%)
Mutual labels:  game-engine, graphics, 3d, vulkan
Engine Native
Native engine for Cocos Creator
Stars: ✭ 488 (-29.07%)
Mutual labels:  game-engine, 3d, vulkan
Dwarfcorp
An open-source 3D colony management game for PC, Mac and Linux
Stars: ✭ 460 (-33.14%)
Mutual labels:  game-engine, graphics, 3d
Vulkust
An engine for Vulkan in Rust, tries to implement modern graphic features. (suspended for now)
Stars: ✭ 64 (-90.7%)
Mutual labels:  game-engine, 3d, vulkan
Mini3d
3D Software Renderer in 700 Lines !!
Stars: ✭ 1,320 (+91.86%)
Mutual labels:  game-engine, graphics, 3d
Silk.net
The high-speed OpenAL, OpenGL, Vulkan, and GLFW bindings library your mother warned you about.
Stars: ✭ 534 (-22.38%)
Mutual labels:  graphics, 3d, vulkan
3d Game Shaders For Beginners
🎮 A step-by-step guide to implementing SSAO, depth of field, lighting, normal mapping, and more for your 3D game.
Stars: ✭ 11,698 (+1600.29%)
Mutual labels:  graphics, 3d, vulkan
Alimer
Cross-platform game engine.
Stars: ✭ 172 (-75%)
Mutual labels:  game-engine, graphics, vulkan
Vxr
General purpose engine written in C++ with emphasis on materials rendering (PBR, clear coat, anisotropy, iridescence)
Stars: ✭ 181 (-73.69%)
Mutual labels:  game-engine, graphics, 3d
Bansheeengine
Modern C++14 game engine with Vulkan support, fully featured editor and C# scripting
Stars: ✭ 2,906 (+322.38%)
Mutual labels:  game-engine, graphics, vulkan
Cpp 3d Game Tutorial Series
C++ 3D Game Tutorial Series is a YouTube tutorial series, whose purpose is to help all those who want to take their first steps in the game development from scratch.
Stars: ✭ 400 (-41.86%)
Mutual labels:  game-engine, graphics, 3d
Pmtech
Lightweight, multi-platform, data-oriented game engine.
Stars: ✭ 478 (-30.52%)
Mutual labels:  game-engine, vulkan
Flexengine
Cross-platform game engine with Vulkan backend
Stars: ✭ 452 (-34.3%)
Mutual labels:  game-engine, vulkan
Lume
Create CSS3D/WebGL applications declaratively with HTML. Give regular DOM elements shadow and lighting.
Stars: ✭ 445 (-35.32%)
Mutual labels:  graphics, 3d
Renderhelp
⚡️ 可编程渲染管线实现,帮助初学者学习渲染
Stars: ✭ 494 (-28.2%)
Mutual labels:  graphics, 3d
Roygbiv
A 3D engine for the Web
Stars: ✭ 499 (-27.47%)
Mutual labels:  game-engine, 3d
Gfx
[maintenance mode] A low-overhead Vulkan-like GPU API for Rust.
Stars: ✭ 5,045 (+633.28%)
Mutual labels:  graphics, vulkan
Handmade Math
A simple math library for games and computer graphics. Compatible with both C and C++.
Stars: ✭ 517 (-24.85%)
Mutual labels:  game-engine, graphics
Vue Gl
Vue.js components rendering 3D WebGL graphics reactively with three.js
Stars: ✭ 434 (-36.92%)
Mutual labels:  graphics, 3d
Mathc
Pure C math library for 2D and 3D programming
Stars: ✭ 504 (-26.74%)
Mutual labels:  graphics, 3d

AnKi logo

AnKi 3D engine is a Linux and Windows opensource game engine that runs on Vulkan 1.2.

Video

1 License

AnKi's license is BSD. This practically means that you can use the source or parts of the source on proprietary and non proprietary products as long as you follow the conditions of the license.

See the LICENSE file for more info.

2 Building AnKi

Build Status, Linux and Windows Build Status

To checkout the source including the submodules type:

git clone --recurse-submodules https://github.com/godlikepanos/anki-3d-engine.git anki

AnKi's build system is using CMake. A great effort was made to ease the building process that's why the number of external dependencies are almost none.

2.1 On Linux

Prerequisites:

  • Cmake 3.0 and up
  • GCC 5.0 and up or Clang 6.0 and up
  • libx11-dev installed
  • libxrandr-dev installed
  • libx11-xcb-dev installed
  • [Optional] libxinerama-dev if you want proper multi-monitor support

To build the release version:

$cd path/to/anki
$mkdir build
$cd ./build
$cmake .. -DCMAKE_BUILD_TYPE=Release
$make

To view and configure the build options you can use ccmake tool or other similar tool:

$cd path/to/anki/build
$ccmake .

This will open an interface with all the available options.

2.2 On Windows

Prerequisites:

  • Cmake 3.0 and up
  • VulkanSDK version 1.1.x and up
    • Add an environment variable named VULKAN_SDK that points to the installation path of VulkanSDK
  • Python 3.0 and up
    • Make sure that the python executable's location is in PATH environment variable
  • Microsoft Visual Studio 2017 and up
    • Make sure that Windows 10 SDK (xxx) for Desktop C++ [x86 and x64] component is installed

To build the release version open PowerShell and type:

$cd path/to/anki
$mkdir build
$cd build
$cmake .. -G "Visual Studio 15 2017 Win64" -DCMAKE_BUILD_TYPE=Release
$cmake --build . --config Release

Alternatively, recent Visual Studio versions support building CMake projects from inside the IDE:

  • Open Visual Studio
  • Choose the "open a local folder" option and open AnKi's root directory (where this README.md is located)
  • Visual Studio will automatically understand that AnKi is a CMake project and it will populate the CMake cache
  • Press "build all"

3 Next steps

This code repository contains 4 sample projects that are built by default (ANKI_BUILD_SAMPLES CMake option):

  • Sponza: The Crytek's Sponza scene
  • SimpleScene: A simple scene (Cornell box)
  • PhysicsPlayground: A scene with programmer's art and some physics interactions
  • SkeletalAnimation: A simple scene with an animated skin

You can try running them and interacting with them. To run sponza, for example, execute the binary from any working directory.

On Linux:

$./path/to/build/Bin/Sponza

On Windows just find the Sponza.exe and execute it. It's preferable to run the samples from a terminal because that prints some information, including possible errors.

4 Contributing

There are no special rules if you want to contribute. Just create a PR. Read the code style guide before that though.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].