Intrinsic
Intrinsic is a Vulkan based cross-platform game and rendering engine. The project is currently in an early stage of development but evolves rapidly from day to day.
Getting Started
Windows
Prerequisites
- Visual Studio 2015
- CMake >= 3.2
- Qt 5.7
- Vulkan SDK >= 1.0.46.0
- PhysX 3.3
- FBX SDK 2015.1
Setup Instructions
- Download and install the Qt (open-source) distribution
- Create a new environment variable
INTR_QTDIR
pointing to...\Qtx.x\x.x\msvc2015_64
- Download an install the Vulkan SDK
- Get access to the latest PhysX SDK from NVIDIA: https://developer.nvidia.com/physx-sdk
- Follow the instructions from NVIDIA and compile the PhysX libraries for the configurations Release, Profile and Debug NOTE: Make sure that PhysX links the Runtime Library dynamically as Intrinsic does!
- Download and install the Autodesk FBX SDK
- Create a new directory called
Intrinsic_Dependencies
on the same level as the Intrinsic repository folder - Inside, create a new folder
dependencies
containing two foldersphysx
andfbx
- Copy the static/dynamic libraries and header files of both SDKs to folders named
bin
(DLLs),lib
(LIBs) andinclude
respectively - Go to the
scripts_win32
folder in the Intrinsic repository dir - Execute
ConfigAndBuildDependencies.bat
to build some of the remaining dependencies automatically - Execute
CopyDllsToAppDir_Debug.bat
andCopyDllsToAppDir_Release.bat
- Execute
Config.bat
to create a Visual Studio 2015 solution file and all project configurations - If everything went well, you'll find the solution in the newly created
build
folder NOTE: You can also use one of the many build scripts:Build_Release.bat
, ... to get started - Execute
Intrinsic.exe
orIntrinsicEd.exe
in theapp
directory - You're all set - yey!
Linux (Ubuntu 16.10)
Prerequisites
sudo apt install git cmake ninja-build libsdl2-dev
Setup Instructions
- Download and install the Qt (open-source) distribution
Add environment variables to your .zshrc or .bashrc:
# Intrinsic export INTR_QTDIR="[...]/Qt/x.x/gcc_64"
- Download and install the Vulkan SDK
Add environment variables to your .zshrc or .bashrc:
# Vulkan SDK VULKAN_SDK=~/[...]/VulkanSDK/1.0.30.0/x86_64 VK_LAYER_PATH=$VULKAN_SDK/etc/explicit_layer.d export VK_LAYER_PATH export PATH=$VULKAN_SDK/bin:$PATH
- Get access to the latest PhysX SDK
After cloning of the git repository apply patches from https://github.com/NVIDIAGameWorks/PhysX-3.3/pull/57Add environment variables to your .zshrc or .bashrc:cd .../PhysX-3.3/PhysXSDK/Source/compiler/linux64 make release profile debug
export PHYSX_HOME="$HOME/[...]/PhysX-3.3/PhysXSDK/"
- Download and install Autodesk FBX SDK
- Go to the
scripts_linux
folder in the Intrinsic repository dir - Execute
ConfigAndBuildDependencies
- Execute
Config_Release
- Execute
Build
- Execute
Run_Release
- You're all set - yey!
Build Status
Platform | Build Status |
---|---|
Windows | |
Linux |
License
// Copyright 2016 Benjamin Glatzel
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
Credits
Intrinsic uses the following open-source libraries:
- Qt (IntrinsicEd only, see https://www.qt.io/download)
- SDL 2.0 (see https://www.libsdl.org/download-2.0.php)
- Vulkan SDK (see https://lunarg.com/vulkan-sdk/)
- tlsf (see https://github.com/mattconte/tlsf)
- microprofile (https://github.com/jonasmr/microprofile)
- enkiTS (see https://github.com/dougbinks/enkiTS)
- gli (see http://gli.g-truc.net/0.8.1/index.html)
- glm (see http://glm.g-truc.net/0.9.8/index.html)
- glslang (see https://github.com/KhronosGroup/glslang)
- SPIRV-Cross (see https://github.com/KhronosGroup/SPIRV-Cross)
- LuaJIT (see http://luajit.org/)
- rapidjson (see https://github.com/miloyip/rapidjson)
- rlutil (see https://github.com/tapio/rlutil)
- SOL 2 (see https://github.com/ThePhD/sol2)
- sparsepp (see https://github.com/greg7mdp/sparsepp)
- tinydir (see https://github.com/cxong/tinydir)
Intrinsic uses the following proprietary libraries:
- PhysX 3 (see https://developer.nvidia.com/physx-sdk)
- FBX SDK (IntrinsicEd only, see http://usa.autodesk.com/adsk/servlet/pc/item?siteID=123112&id=10775847)
Intrinsic also uses the following tools in binary format:
- NVTT (see https://developer.nvidia.com/gpu-accelerated-texture-compression)
- Cloc (see http://cloc.sourceforge.net)
- 7za (see http://www.7-zip.org/download.html)