This repository represents the Lynar Studios - Standard Library (ls-std).

Patrick-Christopher Mattulat f1c04b3fde Move core module logic to dedicated CMake file пре 1 недеља
cmake f1c04b3fde Move core module logic to dedicated CMake file пре 1 недеља
doc df8f7c3d91 Add basic window creation functionality пре 1 недеља
include d032c7f486 Add SDL window creation error hint пре 1 недеља
source 94303aab53 Add SDL init error hint пре 1 недеља
test 94303aab53 Add SDL init error hint пре 1 недеља
.clang-format bab023b3b7 Add coding and security guidelines пре 1 месец
.clang-tidy bab023b3b7 Add coding and security guidelines пре 1 месец
.gitignore 24c03034e9 Add basic test case for SdlWindowApi class пре 1 недеља
CMakeLists.txt f1c04b3fde Move core module logic to dedicated CMake file пре 1 недеља
README.md 8e0f21e8ab Introduce ls-std conan dependency пре 1 недеља
conanfile.txt 24c03034e9 Add basic test case for SdlWindowApi class пре 1 недеља

README.md

Atlantis Game Engine

This is a 3D game engine based on SDL3 + Vulkan API / Metal API.

Prerequisites

The following prerequisites need to be fulfilled in order to build this game engine.

  1. Conan 2.29.1 must be installed.
  2. A Conan default profile must exist with the same compiler flags as this project.
  3. Missing Conan dependencies must be installed:

    # For ls-std
    
    conan install . --output-folder=cmake-build-debug --build=missing -o "ls-std/*:shared=True" -s build_type=Debug -s compiler.cppstd=17
    conan install . --output-folder=cmake-build-release --build=missing -o "ls-std/*:shared=True" -s build_type=Release -s compiler.cppstd=17
    
    # For all other dependencies
    
    conan install . --output-folder=cmake-build-debug --build=missing -s build_type=Debug -s compiler.cppstd=17
    conan install . --output-folder=cmake-build-release --build=missing -s build_type=Release -s compiler.cppstd=17
    
  4. The following CMake-Options must be provided for the "Debug" & "Release" Profile:

    -DCMAKE_CONFIGURATION_TYPES=Debug -DCMAKE_TOOLCHAIN_FILE=cmake-build-debug/conan_toolchain.cmake
    -DCMAKE_CONFIGURATION_TYPES=Release -DCMAKE_TOOLCHAIN_FILE=cmake-build-release/conan_toolchain.cmake
    
  5. For the CMake Default Toolchain use Generator Visual Studio for each CMake profile.

  6. For ls-std dependency downloag the recipes repository and navigate to the version conanfile.py. Then run:

    conan create . -o "ls-std/*:shared=True" -s build_type=Debug
    conan create . -o "ls-std/*:shared=True" -s build_type=Release
    

Modules

In Process: It contains the following modules:

Name Description
ls-atlantis-core This module provides functionalities like engine setup, game loop logic and engine run time information.
ls-atlantis-interface This module provides all interfaces all other engine modules can implement. This would avoid circular dependencies through out the project.
ls-atlantis-window This module provides functionalities for window creation and handling.

Dependencies

The following table illustrates a list of required dependencies

Name Version Explanation
gtest 1.17.0 The Google Test framework for unit- and integration tests.
ls-std v2024.1.0.1 The Lynar Studios C++-Standard library.
sdl 3.4.8 The Window API library SDL3.