[Ethereal Engine](https://github.com/volcoma/EtherealEngine) - Cross-platform C++ Game Engine
============================================================================
[](https://www.codacy.com/app/volcoma/EtherealEngine?utm_source=github.com&utm_medium=referral&utm_content=volcoma/EtherealEngine&utm_campaign=badger)
[](https://gitter.im/EtherealEngine/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[](https://travis-ci.org/volcoma/EtherealEngine)
[](https://ci.appveyor.com/project/volcoma/etherealengine)
[](LICENSE.txt)
 
 
 
[ Get more details at **codescene.io**.](https://codescene.io/projects/1800/jobs/latest-successful/results)
## INFO
Using c++14
WYSIWYG Editor
## STATUS
WIP - not production ready in any way
Building
-------------
Don't forget to update submodules
```
git clone https://github.com/volcoma/EtherealEngine.git
cd EtherealEngine
git submodule init
git submodule update
mkdir build
cd build
cmake ..
```
## PLATFORMS
It is written in a cross-platform manner using .
 |  | 
---------------| --------|--------
 |  |
 |  |
 | | 
 | | 
## ASSETS
Some high quality assets: https://github.com/volcoma/Library
Supported texture formats: png, tga, dds, ktx, pvr
Supported mesh formats: obj, fbx, dae, 3ds
Supported audio formats: ogg, wav
## SUGGESTIONS AND ISSUES
Any suggestions and help will be appreciated.
## BUILD
The engine uses the CMake build system.
## CODEBASE
 Using the latest and greatest features of the language.
## CODE STYLE
```c++
#include "some_header.h"
#include "some_other_header_impl.hpp"
namespace nsp
{
class some_class
{
public:
//-----------------------------------------------------------------------------
// Name : some_method ()
///
/// This is a method comment description.
///
//-----------------------------------------------------------------------------
void some_method();
//-----------------------------------------------------------------------------
// Name : some_templated_method ()
///
/// This is a method comment description.
///
//-----------------------------------------------------------------------------
template
void some_templated_method();
public:
/// this is a member comment
int some_public_member = 0;
private:
/// this is a member comment
int some_private_member_ = 0;
}
template
inline void some_class::some_templated_method()
{
// If the class is fully templated it is acceptable to put this inside the class
}
```
## PREVIEW



## LIBRARIES
bgfx - https://github.com/bkaradzic/bgfx
cereal - https://github.com/USCiLab/cereal
rttr - https://github.com/rttrorg/rttr
spdlog - https://github.com/gabime/spdlog
imgui - https://github.com/ocornut/imgui
assimp - https://github.com/assimp/assimp
glm - https://github.com/g-truc/glm
openal-soft = https://github.com/kcat/openal-soft