/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.

Primary LanguageC++Apache License 2.0Apache-2.0

Intrinsic

Contribute! Join the Chat

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.

Intrinsic

Getting Started

Windows

Prerequisites

  • Visual Studio 2015
  • CMake >= 3.2
  • Qt 5.7
  • Vulkan SDK 1.0.30.0
  • PhysX 3.3
  • FBX SDK 2015.1

Setup Instructions

  1. Download and install the Qt (open-source) distribution

  2. Create a new environment variable "INTR_QTDIR" pointing to "[...]\Qtx.x\x.x\msvc2015_64"

  3. Download an install the Vulkan SDK

  4. Get access to the latest PhysX SDK from NVIDIA: https://developer.nvidia.com/physx-sdk

  5. 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!

  6. Download and install the Autodesk FBX SDK

  7. Create a new directory called "Intrinsic_Dependencies" on the same level as the Intrinsic repository folder

  8. Inside, create a new folder "dependencies" containing two folders "physx" and "fbx"

  9. Copy the static/dynamic libraries and header files of both SDKs to folders named "bin" (DLLs), "lib" (LIBs) and "include" respectively

  10. Go to the "scripts_win32" folder in the Intrinsic repository dir

  11. Execute "ConfigAndBuildDependencies.bat" to build some of the remaining dependencies automatically

  12. Execute "CopyDllsToAppDir_Debug.bat" and "CopyDllsToAppDir_Release.bat"

  13. Execute "Config.bat" to create a Visual Studio 2015 solution file and all project configurations

  14. If everything went well, you'll find the solution in the newly created "build" folder. You can also use one of the many build scripts: "Build_Release.bat", ... to get started

  15. Execute "Intrinsic.exe" or "IntrinsicEd.exe" in the "app" directory - yey!

Linux (Fresh Ubuntu 16.10 Install)

Prerequisites

sudo apt install git cmake ninja-build libsdl2-dev

Setup Instructions

  1. 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"

  2. 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  
    
  3. Get access to the latest PhysX SDK
    After cloning of the git repository apply patches from https://github.com/NVIDIAGameWorks/PhysX-3.3/pull/57
    cd [...]/PhysX-3.3/PhysXSDK/Source/compiler/linux64
    make release profile debug

    Add environment variables to your .zshrc or .bashrc:
    export PHYSX_HOME="$HOME/[...]/PhysX-3.3/PhysXSDK/"

  4. Download and install Autodesk FBX SDK

  5. Go to the "scripts_linux" folder in the Intrinsic repository dir

  6. Execute "ConfigAndBuildDependencies"

  7. Execute "Config_Release"

  8. Execute "Build"

  9. Execute "Run_Release"

Build Status

Platform Build Status
Windows Windows Build Status
Linux Linux Build Status
Android Coming soon...

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:

Intrinsic uses the following proprietary libraries:

Intrinsic also uses the following tools in binary format: