Skip to content

HITOA/vin-engine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

91 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

vin-engine

A custom game engine made with passion. currently working on it.
First made for visual novel in mind. now it's just a 3D engine.

Currently work in progress.

Building VIN

To build VIN you will need CMAKE and PYTHON.
Install both if not already installed.

Clone the repository : git clone --recursive https://github.com/HITOA/vin-engine.git

Install jinja2 package : pip install jinja2
Generate with cmake : cmake -B"./build" .

Last tested with (gcc, msvc, clang) on windows and linux : 10/24/2022

Profiling

Optick is used to profile the engine : https://github.com/bombomby/optick
There is an exe version in /tool.

Screenshot

The sponza scene rendered in the engine : (10/22/2022)
Sponza scene
Modern sponza scene

TODO

Things to considere

  • Vulkan implementation

Source

A lot of useful source for developing game engine related stuff :

Game Programming Patterns (Robert Nystrom) : https://gameprogrammingpatterns.com/contents.html
Learn Vulkan : https://vulkan-tutorial.com/
Learn Opengl : https://learnopengl.com/
Godot Engine Repos (Most readable source code for game engine probably) : https://github.com/godotengine/godot
The Cherno (Especially his game engine series) : https://www.youtube.com/c/TheChernoProject
Chili Tomato Noodle : https://www.youtube.com/c/ChiliTomatoNoodle
MonoGame Repos : https://github.com/MonoGame/MonoGame/tree/develop/MonoGame.Framework
GLM Repos : https://github.com/g-truc/glm
Cell (JoeyDeVries) : https://github.com/JoeyDeVries/Cell
Bevy : https://github.com/bevyengine/bevy
An Entity component system with data locality : https://indiegamedev.net/2020/05/19/an-entity-component-system-with-data-locality-in-cpp/
Building an ECS : https://ajmmertens.medium.com/building-an-ecs-1-where-are-my-entities-and-components-63d07c7da742
ES wiki : http://entity-systems.wikidot.com/
Quake PAK format specification : https://quakewiki.org/wiki/.pak
Order your graphics draw calls around : http://realtimecollisiondetection.net/blog/?p=86
Optimizing 4x4 matrix multiplication : https://nfrechette.github.io/2017/04/13/modern_simd_matrix_multiplication/
PCSS shadow : https://developer.download.nvidia.com/whitepapers/2008/PCSS_Integration.pdf
Optimized Transform Hierarchy : https://alexsabourindev.wordpress.com/2019/04/14/creating-an-optimized-transform-hierarchy/

About

VIN Game Engine

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors