Skip to content

galliume/poulpeEngine

Repository files navigation

Poulpe Engine

Game Engine with a vulkan renderer

CI Service Build Status
GitHub Actions CMake

This project is a never ending educationnal exercice about game engine and vulkan.

State of the project

In video

All GUI has been stripped out from the engine.

PoulpeEdit will be the GUI editor that will use PoulpeEngine to edit a level, coming soon.

To compile && execute

Install the latest Vulkan SDK https://vulkan.lunarg.com/ and be sure to have the env variable VULKAN_SDK properly set to your Vulkan SDK installation folder.

Compile shaders (Windows && Linux) :

./bin/plpShadersCompilation.sh

Generate the project with CMake :

./bin/build.sh -c

Then open the .sln with VisualStudio or compile it with -b option

./bin/build.sh -b

By default the project is compiled with clang and with the build system VisualStudio 17 2022 for Windows or Ninja for Linux (see in ./bin/build.sh)

All meshes can be found here:

Survival backpack: https://sketchfab.com/3d-models/survival-guitar-backpack-799f8c4511f84fab8c3f12887f7e6b36

Sponza: https://casual-effects.com/data/index.html

Dragon: https://casual-effects.com/data/index.html

Moon: https://free3d.com/3d-model/moon-photorealistic-2k-853071.html

Just download, unzip and copy paste in assets/mesh.

All levels are described in config/levels, for those meshes they should be fine as it is.

Models downloaded from Morgan McGuire's Computer Graphics Archive

help to configure the project

Keyboard shortcuts (azerty)

free / lock mouse : left ctrl

forward : Z

backward : Q

left : Q

right : D

up : E

down : A

Resources

Vulkan Programming Guide

Game Engine Architecture

Vulkan API

Vulkan API Samples

LunarG Vulkan

Foundations of Game Engine Development (vol 1&2)

Vulkan Tutorial

Efficient Vulkan Renderer

Vulkan in 30 minutes

Do's and Don't

Releases

No releases published

Packages

No packages published