GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - study-game-engines/syndra: 3D Game Engine/Renderer

BranchesTags
Open more actions menu
 
 

Latest commit

 

History

383 Commits
383 Commits

Folders and files

NameName
Last commit message
Last commit date
Sandbox/src
Sandbox/src
 
 
Showcase
Showcase
 
 
Syndra-Editor
Syndra-Editor
 
 
Syndra
Syndra
 
 
scripts
scripts
 
 
vendor
vendor
 
 
.gitignore
.gitignore
 
 
.gitmodules
.gitmodules
 
 
GenerateProjects.bat
GenerateProjects.bat
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
premake5.lua
premake5.lua
 
 

Repository files navigation

Syndra Engine

Syndra is an early-stage 3D game engine with a focus on real-time rendering. Syndra uses OpenGL graphics API and is being developed for the Windows platform.

Motivation

Syndra is my bachelor's thesis project, where I wanted to study how to build 3D game engines. The purpose of this project is not to make 3D games; rather, my primary motivation for making Syndra is to test and learn new algorithms and techniques used mainly in graphics and real-time rendering.

Download

Syndra-Engine v1.1.1-alpha

Showcase

Features

  • Engine

    • Editor (with docking support)
    • Entity Component System (ECS)
    • Event system
    • Console logging
    • Model and texture loading (40+ model file formats support using Assimp)
    • Scene saving and loading using YAML serialization and deserialization
    • Debug visualizer (GBuffer, HDRI map, ...)
    • Immediate mode GUI
    • Component editor (material, mesh, light, tag and camera)
    • Viewport gizmos
    • HDRI skymap loading
  • Rendering

    • Deferred Rendering
    • PBR Rendering (Cook–Torrance BRDF)
    • Materials (with texture loading)
    • Dynamic shadows
    • Different light types (directional, point lights and spot lights)
    • Soft shadows using PCSS algorithm
    • Image Based Lighting (IBL)
    • Fast Approximate Anti-Aliasing (FXAA)
    • Normal mapping

Future

  • Trello Page contains all the upcoming features.

  • Engine

    • Asset manager and content Browser
    • Physics engine
    • CPU and GPU profiling
    • Scripting system
  • Rendering

    • More debug visualizers (grid, wireframe, ...)
    • SSAO (Screen Space Ambient Occlusion)
    • SSR (Screen Space Reflection)
    • Procedural atmospheric sky
    • Point light shadows
    • Bloom
    • Compute shaders for IBL calculations

Compiling

Syndra only supports windows for now. Visual Studio 2019+ is recommended.

Start by cloning the repository with git clone --recursive https://github.com/ErfanMo77/Syndra. If the repository was cloned non-recursively previously, use git submodule update --init to clone the necessary submodules.

Then, run scripts/setup.py to download and install all the necessary requirements (like VulkanSDK). It will also generate a Visual Studio solution. After installing all the prerequisites, you can compile and run the engine in Visual Studio.

Third Party Libraries

  • GLFW : Handling windows and mouse and keyboard events.
  • Glad : OpenGL functions loader.
  • spdlog : Console debugger logging.
  • stb_image : Reading and loading textures.
  • ImGui : Immediate mode GUI used in editor UI.
  • ImGuizmo : Editor gizmos.
  • Entt : Used in Entity Component System (ECS).
  • GLM : Matrix and vector operations.
  • Assimp : Loading 3D models with support for more than 40 file formats.
  • yaml-cpp : Scene serialization and deserialization.
  • Vulkan SDK : Shader compilation and reflection.
  • Premake : Projects configuration and visual studio solution generator.

Dependencies

  • Windows 10.
  • Microsoft Visual C++ Redistributable for Visual Studio 2019.

Authors

ErfanMo77 - Erfan Momeni

Acknowledgments

LearnOpenGL Great OpenGL tutorials!

The Cherno game engine series

Logo design : AmirMohammad Abedini

License

Licensed under the Apache License 2.0, see LICENSE for details.

About

3D Game Engine/Renderer

Resources

Readme
License
Activity
Custom properties

Stars

0 stars

Watchers

0 watching

Forks

0 forks
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.