aconstlink / motor

Software Framework for Audio/Visual/Interactive Real-Time Applications
MIT License
3 stars 0 forks source link
2d 3d audio-visual cmake cpp17 d3d11 directx-11 engine game interactive irc low-dependency opengl opengl-es passion-project real-time

motor

CMake on Linux with OpenGL CMake on Win32 with DirectX 11 License: MIT

motor is a software framework for real-time interactive audio/visual applications and is a personal endeavour into real-time engine coding.

About

This repository contains my experimental game and animation engine for real-time applications. The philosophy here is to give the user a very basic, at the programming language level, coding experience. It just provides the user with some UI but the majority of any project done with motor is to code! Sure, some taks require an UI for simplicity but other just don't and are more easily and quickly achievable using plain old code.

This repository is kept clean from any sample code. It is just the engine.

Sample Code

The engine repo itself does not contain any sample code! The purpose of this is to keep the codebase clean from clutter and rubbish. Sample code also unnecessarily bloats the codebase with unused code if the engine itself is included in another project.

Please see the following repos for samples:

Base tests includes sample code and helps me test the engine. This repo also shows how to include the engine as a subrepository.

Platforms

Windows

Windows has my main focus.

Prerequisits :

Linux:

The engine should compile and sample code should run on Linux but not every feature may work. I try to make that work though. My main distributions are Ubuntu and Fedora.

Prerequisits :

For development:

libX11-devel libGLES-devel libGL-devel libEGL-devel alsa-lib-devel make cmake gcc gcc-c++

For execution only

libX11 mesa-libGLES mesa-libGL mesa-libEGL alsa-lib

I regularly test on a Fedora 30+ machine with OpenGL 4. OpenGL ES is currently not working.

Clone and Build

This project onyl supports CMake.

Windows Visual Studio:

  1. Open CMake Gui
  2. Choose 64 bit Visual Studio 2019(or higher)
  3. Generate (out of source)
  4. Open Visual Studio Solution

Linux CMake:

cd repos
git clone https://github.com/aconstlink/motor.git
mkdir _build/motor.platform
cd _build/motor.platform
cmake ../../motor