# Bigfoot A multiplatform 3D game engine # Goals The goal is to build a multiplatform, API agnostic, 3D engine. Since this is a learning project, I don't aim to provide a viable option to build actual commercial games with it. This also means that I am providing the project as is, with no support whatsoever. # Building ### Requirements 1. [ConanV2](https://conan.io/) 3. [Vulkan SDK](https://www.lunarg.com/vulkan-sdk/) (If you target Vulkan) 4. [CMake](https://cmake.org/) 5. [Git](https://git-scm.com/) 7. [Python3](https://www.python.org/) #### Additional requirements for Linux 1. [Clang](https://clang.llvm.org/) (Version 18) 2. [Mold](https://github.com/rui314/mold) 3. [Ninja](https://github.com/ninja-build/ninja) 4. [CCache](https://ccache.dev/) (Not a requirement, but nice to have) Note: you can modify the conan profile used to overcome these requirements. But I provide no support for anything else than what's listed here #### Additional requirements for Windows 1. MSVC Note: you can modify the conan profile used to overcome these requirements. But I provide no support for anything else than what's listed here ### Generating the dependencies for Bigfoot Use generate_dependencies.sh or generate_dependencies.bat (depending on your platform). These scripts will download/build/install any necessary dependency, using Conan. The recipes used will come from [my own conan recipe center](packages.bigfootengine.com) You will need to provide the 'force' or 'missing' parameters to these scripts. I'd recommand for a first run to use 'force' to build all dependencies, and on subsequent runs to use 'missing' to build only missing parameters ``` ./generate_dependencies.sh force or ./generate_dependencies.sh missing ``` You can customize these scripts to opt-out of some Bigfoot features 'Just' modify these lines to disable them (I promise to one day modify the script to do it from the command line) ``` -o bigfoot/*:build_tests=True -o bigfoot/*:tracy=True -o bigfoot/*:build_tools=True -o bigfoot/*:vulkan=True -o bigfoot/*:build_benchmarks=True ``` 1. build_tests: Enable/Disable the tests 2. tracy: Enable/Disable profiling using [Tracy](https://github.com/wolfpld/tracy) 3. build_tools: Enable/Disable the tools (I'd absolutely recommand not disabling this) 4. vulkan: Enable/Disable Vulkan renderer (No point disabling it, since for now only Vulkan is available in Bigfoot) 5. build_benchmarks: Enable/Disable the benchmarks ### Generating Bigfoot Use generate_bigfoot.sh or generate_bigfoot.bat (depending on your platform) to generate the build files for Bigfoot. You will then be able to use either Visual Studio (Windows) or Ninja (Linux) to build BigFoot