Open-source cross-platform graphics and game engine.
Intrinsic is a Vulkan based cross-platform graphics and game engine. The project is currently in an early stage of development but evolves rapidly from day to day.
Intrinsic is available to the public domain under the GPL v3. If you’re interested in licensing Intrinsic for your commercial or closed-source project (without the restricitions of the GPL), just contact me.
Intrinsic supports scripting using Lua, shader hot reloading as well as versatile world editing using the fully-featured editor application IntrinsicEd. New assets can be imported quickly using the widely supported FBX fileformat. Meshes and textures can also be automatically reloaded during runtime to support quick prototyping and rapid iteration times.
Intrinsic’s renderer and core are written in pure C and C++. Both are multithreaded, data oriented and almost completely job based. As an example, the renderer uses SIMD driven frustum vs. sphere culling split into many different work batches allowing the culling of all scene objects in just a few hundered microseconds. This step is also a coarse pre-pass for planned GPU driven culling stages.
Intrinsic’s code base is well structured and cleaned up. It’s easy to dig into any of the existing subsystem and also create new systems and features in no time.
Intrinsic features a PBR pipeline, a clustered deferred lighting system (coming soon) and a feature-rich post processing system, which – among others – contains a volume texture based volumetric lighting solution.
Intrinsic is planned with platform independence in mind and will target all platforms with an available Vulkan driver in the future. It also has been tested on Ubuntu 16.04 using the standalone application (editor support is planned). It compiles successfully using the Visual Studio 2015 compiler and the most recent version of the GCC.
Intrinsic is available on GitHub. Feel free to fork it, get a hang of it and eventually start to contribute. And if you enjoy it: Don’t forget to star the project. 🙂