Skip to content

morganbengtsson/mos

Repository files navigation

Logo

CMake Documentation status Codacy Badge GitHub license

⚠️ Note that MOS is in development and slightly experimental ⚠️

Introduction

MOS is a lightweight cross-platform game engine/library, written in modern C++.

Features

  • Minimal and documented codebase.
  • Integration with Blender
  • 3D mesh rendering
  • Spot and directional lighting
  • Physically based material model
  • Global illumination approximation
  • Particle rendering
  • Text rendering
  • Post processing effects
  • Collision detection
  • 3D audio playback, with obstruction model
  • Asset management
  • IO management

Screenshot Screenshot2 Screenshot3

Companion projects

  • MOS Skeleton: An example project to quickly get up and running.

  • MOS Blender export: Export scripts/addon for Blender 2.80, to export models, levels and other entities.

Source code

A convenient way to get and use the project, is to add it as a git submodule:

git submodule add https://github.com/morganbengtsson/mos.git
git submodule update --init --recursive

Building

The project is preferably used as a sub project with CMake as so, in your CMakeLists.txt:

add_subdirectory(externals/mos)
target_link_libraries(${PROJECT_NAME} PUBLIC mos)

Dependencies

MOS is dependent on the following projects: