Skip to content

Lightweight Lua interpreter and Shader previewer in Solar system

License

Notifications You must be signed in to change notification settings

DeinsOne/PlanetMOV

Repository files navigation

PlanetMOV

GitHub repo size Licence GitHub language count

PlanetMOV is a lightweight solar system emulator that uses Lua scripts and different shaders instead of control components. Main purpose of project is getting know how to work with Cinder library(Render process and function set), Lua binder, shader languages and program architecture.

Currently supports only Linux.

Futures

  • Linux build system
  • Planets config file
  • Glsl shaders
    • FragmetShaders
    • Vertex shaders
  • Hlsl shaders
  • Lua scripting
    • VM binding(binding scripts to plants)
    • Events(onSetup, onUpdate)
    • PlanetMOV Lua set(classes, functions)

More information can be found on PlanetMOV Trello

Dependencies

This project uses:

Building

Clone the project & submodules:

git clone https://github.com/DeinsOne/PlanetMOV.git
cd PlanetMov
git submodule update --init

Linux

Install all the libraries that are needed:

# Ubuntu
sudo apt-get install libxcursor-dev \
    libxrandr-dev \
    libxinerama-dev \
    libxi-dev \
    libgl1-mesa-dev \
    libglu1-mesa-dev \
    zlib1g-dev \
    libfontconfig1-dev \
    libmpg123-dev \
    libsndfile1 \
    libsndfile1-dev \
    libpulse-dev \
    libasound2-dev \
    libcurl4-gnutls-dev \
    libgstreamer1.0-dev \
    libgstreamer-plugins-bad1.0-dev \
    libgstreamer-plugins-base1.0-dev \
    gstreamer1.0-libav \
    gstreamer1.0-alsa \
    gstreamer1.0-pulseaudio \
    gstreamer1.0-plugins-bad \
    libboost-filesystem-dev

# Fedora
sudo dnf install \
    mesa-libGL-devel \
    mesa-libGLU-devel \
    zlib-devel \
    libcurl-devel \
    pulseaudio-libs-devel \
    libmpg123-devel \
    libsndfile-devel \
    libXcursor-devel \
    libXrandr-devel \
    libXinerama-devel \
    libXi-devel \
    gstreamer1-devel \
    gstreamer1-plugins-base-devel \
    gstreamer1-plugins-bad-free-devel \
    fontconfig-devel

Note: See Cinder documentation to get required libs

Build

./build.sh

# or 
./build.sh -buildtype="Release/Debug" -gltarget="ogl/es2"

Note: You can use building flags to specify building behavior. All flags detecting manually by default

Licence

PlanetMOV is licensed under MIT license. See LICENSE for more details.