All Projects → petiaccja → Inline Engine

petiaccja / Inline Engine

Licence: other
Game engine written in C++ with ease of use and next-gen parallel computing in focus.

Projects that are alternatives of or similar to Inline Engine

Vortice.windows
.NET standard bindings for DirectX, WIC, Direct2D1, XInput, XAudio and X3DAudio
Stars: ✭ 427 (+80.17%)
Mutual labels:  game-development, game-engine, graphics
Sucle
Common Lisp Voxel Game Engine
Stars: ✭ 239 (+0.84%)
Mutual labels:  game-development, game-engine, graphics
Cpp 3d Game Tutorial Series
C++ 3D Game Tutorial Series is a YouTube tutorial series, whose purpose is to help all those who want to take their first steps in the game development from scratch.
Stars: ✭ 400 (+68.78%)
Mutual labels:  game-development, game-engine, graphics
Handmade Math
A simple math library for games and computer graphics. Compatible with both C and C++.
Stars: ✭ 517 (+118.14%)
Mutual labels:  game-development, game-engine, graphics
Ktx
LibKTX: Kotlin extensions for LibGDX games and applications
Stars: ✭ 913 (+285.23%)
Mutual labels:  game-development, game-engine, graphics
Alimer
Cross-platform game engine.
Stars: ✭ 172 (-27.43%)
Mutual labels:  game-development, game-engine, graphics
Rengfx
lightweight, expressive, extensible 2D/3D game engine
Stars: ✭ 41 (-82.7%)
Mutual labels:  game-development, game-engine, graphics
Opentk
The Open Toolkit library is a fast, low-level C# wrapper for OpenGL, OpenAL & OpenCL. It also includes windowing, mouse, keyboard and joystick input and a robust and fast math library, giving you everything you need to write your own renderer or game engine. OpenTK can be used standalone or inside a GUI on Windows, Linux, Mac.
Stars: ✭ 2,284 (+863.71%)
Mutual labels:  game-development, game-engine, graphics
Astera
A C99 Cross Platform 2D Game Library
Stars: ✭ 193 (-18.57%)
Mutual labels:  game-development, game-engine
Pydark
PyDark is a 2D and Online Multiplayer video game framework written on-top of Python and PyGame.
Stars: ✭ 201 (-15.19%)
Mutual labels:  game-development, game-engine
Babylon.js
Babylon.js is a powerful, beautiful, simple, and open game and rendering engine packed into a friendly JavaScript framework.
Stars: ✭ 15,479 (+6431.22%)
Mutual labels:  game-development, game-engine
Methanekit
🎲 Modern 3D graphics made simple with cross-platform C++17 meta-API on top of DirectX 12 & Metal (Vulkan is coming)
Stars: ✭ 197 (-16.88%)
Mutual labels:  game-development, graphics
Directx12gameengine
DirectX 12 .NET game engine
Stars: ✭ 194 (-18.14%)
Mutual labels:  game-engine, graphics
Vulkan Renderer
A new 3D game engine using modern C++ and Vulkan API
Stars: ✭ 205 (-13.5%)
Mutual labels:  game-development, game-engine
Debroglie
DeBroglie is a C# library implementing the Wave Function Collapse algorithm with support for additional non-local constraints, and other useful features.
Stars: ✭ 190 (-19.83%)
Mutual labels:  game-development, graphics
Joymachine Public
All sorts of random publicly-available information, assets, scripts, and more as we (Joy Machine) work on our projects.
Stars: ✭ 210 (-11.39%)
Mutual labels:  game-development, game-engine
Frag
A cross-platform 2D|3D game framework for the Nim programming language
Stars: ✭ 210 (-11.39%)
Mutual labels:  game-development, game-engine
Engine
Cocos Creator is a complete package of game development tools and workflow, including a game engine, resource management, scene editing, game preview, debug and publish one project to multiple platforms.
Stars: ✭ 2,574 (+986.08%)
Mutual labels:  game-development, game-engine
Flaxengine
Flax Engine – multi-platform 3D game engine
Stars: ✭ 3,127 (+1219.41%)
Mutual labels:  game-development, game-engine
Pixieditor
PixiEditor is a lightweight pixel art editor made with .NET 5
Stars: ✭ 210 (-11.39%)
Mutual labels:  game-development, graphics

Inline Engine

Codacy Badge Build status

Introduction

Inline-Engine is a modern game engine that emphasizes the latest technologies and innovation in order to bring the most to the table regardless of weather you are a gamer, a developer or a game designer. It got its name from the overuse of inline methods to speed up the software, however, it only aims to live up to the performance expectations not the poor coding style.

  • C++17 brings elegant coding solutions
  • Built for parallelism from the ground up
  • Build for DirectX 12 and Vulkan
  • Modular, hackable design
  • Highly configurable even without hacking

Platforms

  1. Windows (supported)
  2. Linux (planned)
  3. XBoxOne (planned)
  4. PS4 (planned)

How To Build

Visual Studio solution files:

  1. Download Visual Studio 2017 or 2019 preview with the latest updates
  2. Download the latest CMake (3.10 or newer)
  3. Generate Visual Studio 2017/2019 Win64 solution files via CMake for Inline-Engine/CMakeLists.txt
  4. Open solution files and build

CMake via IDE:

  1. Install latest MSVC 19 toolchain
  2. Download a CMake compatible IDE (e.g. Visual Studio or CLion)
  3. Open Inline-Engine/CMakeLists.txt
  4. Configure CMake within IDE to use the MSVC toolset
  5. Build

CMake via Ninja or makefiles:

  1. Install latest MSVC 19 toolchain
  2. Download the latest CMake (3.10 or newer)
  3. Generate Ninja or Makefile for Inline-Engine/CMakeLists.txt
  4. Build

Note: you can not compile it with the GNU toolchain because the Direct3D libraries won't compile, and Vulkan is not supported yet.

Note: you don't need any additional dependencies, all libraries are packed with the project.

Note: 32-bit build are not supported

Rendering core ideas

High-level interface

The engine exposes geometries, material, and textures to work with. These are used as properties to describe an entity. Entities are grouped into multiple scenes that act like a virtual world. One might put terrain entities, lights, geometries or other types of objects into a scene. The purpose of having multiple scenes is to achieve the separation of 3D world, GUI and debug draw objects. With this, one might define completely different ways of rendering each scene, and can quickly toggle whether to display a scene at all. The results of each scene can be freely combined with desired final output.

Visual render pipeline scripting

Inspired by CryEngine's flow graph and Unreal's BluePrint, users can leverage the power of task graphs to visually assemble the render pipeline. The task graph's tasks have access to the scenes and the objects inside them, so they can render it. The data flow from one task to the other allows the transport of opacity or depth maps which make combining scenes in an arbitrary fashion a breeze.

Adding your own rendering algorithms

The above-mentioned rendering task graph provides an interface to implement custom task nodes. The nodes inputs and outputs are defined, and the programmer can code the data transform performed on the inputs. The node can access the underlying Direct3D 12 API through a simplified interface. The framework that executes the task graph takes the responsibility of distributing work across multiple CPU cores and the scheduling of generated GPU command lists.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].