Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Hork-Engine/Hork-Source
3D Game Engine
https://github.com/Hork-Engine/Hork-Source
3d 3d-engine forward-plus framegraph game-development game-engine gamedev hork hork-engine open-source opengl pbr
Last synced: 2 months ago
JSON representation
3D Game Engine
- Host: GitHub
- URL: https://github.com/Hork-Engine/Hork-Source
- Owner: Hork-Engine
- License: mit
- Created: 2018-05-18T06:22:06.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2024-09-14T20:25:09.000Z (3 months ago)
- Last Synced: 2024-09-16T01:37:24.431Z (3 months ago)
- Topics: 3d, 3d-engine, forward-plus, framegraph, game-development, game-engine, gamedev, hork, hork-engine, open-source, opengl, pbr
- Language: C++
- Homepage:
- Size: 58.4 MB
- Stars: 154
- Watchers: 12
- Forks: 10
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-game-engines - Hork-Source - Game engine developed for Quake-style 3D games, but it is possible to create games of other genres. (Uncategorized / Uncategorized)
README
# Hork Engine
Game engine
Developed for Quake-style 3D games, but it is possible to create games of other genres.
# Features
## Technical information
* C++
* Windows7+, Linux
* 64 bit only
* Data oriented design
* With no exceptions## GameObject-Component based world architecture
* The world has a modular structure - it's easy to add new features
* Composition instead of inheritance, objects are extended by different components
* Handles instead of pointers
* ECS (Entity-Component-System) can be easily integrated into an existing model
* Asynchronous loading of resources## Rendering
* Forward+ clustered renderer based on OpenGL4.6 core
* Modern Framegraph architecture
* Material graph with automatic shader generation, material instancing
* Physically Based Rendering
* Antialiasing (FXAA, SMAA), specular antialiasing (Toksvig, vMF baked to Roughness)
* Screen space reflections
* Postprocessing effects (Bloom, Dynamic exposure, Tonemapping, Color grading LUT/procedural, Vegnette)
* Motion Blur (per-object, per-bone)
* Horizon-based Ambient Occlusion (HBAO)
* Tessellation Flat/PN with displacement mapping
* Parallax mapping## Physics
* Simulation of rigid bodies, collision detection, triggers, character controller, water buoyancy calculations.## Audio
* 2D and spatialized 3D / HRTF
* Unlimited audio sources
* OGG, FLAC, MP3, WAV
* Audio resampling## Cinematic
* MPEG1 Video decoder
* Animated Gif## Input system
* Keyboard, Mouse, Game controllers
* Mapping to Axes and Actions
## Animation
* Skeletal animation, inverse kinematics, sockets## Navigation
* Tiled navigation mesh
* Path finding
* Off-mesh links
* Dynamic obstacles## UI
* Customizable UI
* Antialiased vector rendering, HTML5 - like canvas API
* TTF fonts## Asset processing
* All types of block compression and decompression: BC1-7
* Image resampling
* sRGB / Premultiplied alpha aware
* WEBP, PNG, PSD, PNM, PIC, JPG, BMP, TGA, HDR, EXR, GIF
* 3D formats: FBX, GLTF 2.0, OBJ
* IES profiles
* SVG rasterization
* Various geometry processing: convex decomposition, triangulation, polygon clipping
## Used third-party libraries
* bc7enc
* bcdec
* cgltf
* Clipper
* EASTL
* FastLZ
* fast_float
* fast_obj
* {fmt}
* GLEW
* giflib
* glslang
* glutess
* HACD
* Jolt Physics
* libwebp
* lunasvg (freetype, plutovg as part of lunasvg)
* MikkTSpace
* mimalloc
* miniaudio
* Miniz
* muFFT
* nanovg
* Optick
* ozz-animation
* pl_mpeg
* Recast & Detour
* SDL3
* stb
* tinyexr
* ufbx
* V-HACD
* FXAA
* SMAA
* half.cSee [details](ThirdParty.md).
## Contributing
Contributions are very welcome.## Airplane minigame demo
[![Airplane minigame](http://img.youtube.com/vi/T9h7byyu_eQ/0.jpg)](https://youtu.be/T9h7byyu_eQ "Airplane minigame")## Install
git clone --recurse-submodules https://github.com/Hork-Engine/Hork-Source
Use Cmake to configure/generate project
Old version of the engine:\
https://github.com/Hork-Engine/Hork-Source-Archive