GithubHelp home page GithubHelp logo

nikichatv / sierraengine Goto Github PK

View Code? Open in Web Editor NEW
15.0 4.0 2.0 106.9 MB

A modern rendering engine, made in C++20 and on top of the Vulkan and Metal APIs.

License: Apache License 2.0

CMake 7.85% C++ 73.92% Python 0.59% C 0.07% Objective-C++ 15.11% Objective-C 0.87% Kotlin 0.07% Metal 1.25% GLSL 0.28%
3d-graphics game-engine rendering vulkan metal

sierraengine's Introduction

Stand With Ukraine

Sierra Engine License

Sierra


What is Sierra Engine?

An open-source rendering engine based on C++ 20, which aims to provide users with an all-in-one development kit, suited for any graphics-intensive tasks (such as video games, 3D editors, etc.). Built on top of the Vulkan and Metal rendering APIs, it provides support for Windows 7-11, macOS, Linux, Android and iOS, and is planned to also feature other native APIs (like DirectX), as well as support consoles.


🛠️ Building and Running the Engine

Compatible compilers:

The following compilers have been tested and confirmed to be able to successfully build the project. Other ones may still be used, though there could be building issues.

  • MSVC Compiler Status
  • Clang LLVM Compiler Status
  • Clang Apple Compiler Status
  • GCC Compiler Status

Requirements:

In order to build it, you first must make sure you have the following installed (some of these modules may come with your IDE of choice):



Installation:

Simply clone the repository either directly from your favourite IDE (Visual Studio, CLion, etc.), or by opening the command line and running:

$ git clone --recursive https://github.com/NikichaTV/SierraEngine

If you clone the repository directly from an IDE, you may need to also run this:

$ git submodule update --init --recursive

And there you have it! You can now create your very own application using the Sierra API, which is contained in the Sierra subdirectory. Unfortunately, there is not an existing editor, however, rest assured, one is on its way!

Tip: In order to get a better grasp of how the API works, you can always take a look at the Sandbox project, which has a few ready-to-use examples.


💫 Features

// TODO: Add to this section :D

📄 Documentation

Documentation has not yet been published. The website that will be hosting it, however, is already done. Someone just needs to take the time to write and upload it, but this will be postponed for when a stable version of the project has been released, which is scheduled for the distant future.


🤓️ About

Frameworks used:

  • GLM - Provides the engine with a powerful set of tools for solving linear algebra problems.
  • spdlog - Used for fast, asynchronous debug-only logging.
  • Vulkan - Allows for incredibly fast rendering on a wide variety of platforms.
  • VMA - For optimal memory management of Vulkan objects.
  • Metal - Being their native rendering API, it is used for fast, hardware-accelerated rendering on Apple platforms.
  • ios-cmake - Essential for building the engine on iOS.
  • ImGui - Used in the ImGui UI extension.
  • My Brain - There is not much left of it, actually...

Software used:

  • JetBrains CLion - Primary IDE of the project.
  • JetBrains Rider - Another IDE which was used to create the .NET 6.0 prototype version of the engine.
  • Xcode - Used to deploy the iOS version on mobile Apple devices.
  • Android Studio - Deployment of Android version.
  • Blender - Managing and testing 3D models.
  • Trello - For pretending to have an organized list of things to implement next.


Total lines of code: 23,157

Last updated: 16/02/2024


sierraengine's People

Contributors

nikichatv avatar

Stargazers

Hòa (Vladimir Scarlet) avatar  avatar Yannick Schössow avatar Maleficus avatar Ryan Hernandez avatar Nikola avatar  avatar Wesko avatar  avatar  avatar Delyan Boychev avatar  avatar  avatar  avatar

Watchers

 avatar Wesko avatar  avatar  avatar

sierraengine's Issues

Dead GitHub link on Website

I noticed the navbar on the website has a link to a GitHub page (I am assuming it is this one), but it seems its HTML <a></a> tag's src is set to /.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.