Awesome
FishEngine
What is FishEngine
FishEngine is a simple, Unity-like game engine, mainly written in C++14.
Features
- Unity-like Editor
- Nearly same API with Unity
- Physically Based Rendering (PBR)
- Deferred Rendering
- Asset management (WIP)
- Physics system (WIP)
- Audio(WIP)
How to Build
- macOS
- windows[WIP]
Before your build, you will need to have some additional software installed:
- Git.
- CMake. Version 3.0.0 or later is required.
- Python. Version 2.7.x is required, 3.x is not officially supported because libclang has no python3 binding.
- Visual Studio 2015, Update 3 (Windows only)
for all platforms:
- Download and install Qt5 SDK from https://www.qt.io. My choice is version 5.8.0.
- Download and install PhysX SDK from https://developer.nvidia.com/physx-sdk. You may get source on GitHub and compile by yourself. Current version is 3.3.4.
- Download and install Autodesk FBX SDK from http://usa.autodesk.com/adsk/servlet/pc/item?siteID=123112&id=26012646. Current version is 2017.1.
for windows:
- download and install Clang, clang is required if you want to automatically generate reflection code.
Step 1. Clone the sources and create a build directory.
git clone https://github.com/yushroom/FishEngine.git
cd FishEngine/Engine
mkdir build && cd build
Step 2. Use CMake to generate project file using any desired generator. Replace Qt5_DIR, PhysX_ROOT_DIR and FBXSDK_DIR with yours. Or you can use camke-gui to do the same thing(recommended).
cmake -G "Visual Studio 14 Win64" -DQt5_DIR=D:\Library\Qt\Qt5.8.0\5.8\msvc2015_64\lib\cmake\Qt5 -DPhysX_ROOT_DIR=D:\program\PhysX-3.3\PhysXSDK -DFBXSDK_DIR="D:\Library\FBX SDK\2017.1" ..
Step 3. Finally, you can use any IDE according to you selected generator, but you can also just build straight from CMake. Build results can be found in Engine/Binary.
cmake --build . --target FishEditor --config Release
3rd Party Libraries
for all platforms:
- boost (filesystem)
- Autodesk FBX SDK (.fbx model importer)
- Qt (Editor only, GUI)
- gli (dds texture loader) and glm (required by gli)
- freeimage (image loader)
- yaml-cpp (serialization)
- PhysX (physics system)
- glfw(window and input)
- FMOD(audio)
for MS Windows: