Skip to content
master
Switch branches/tags
Code

Latest commit

 

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
bin
 
 
 
 
doc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

SmartShape Engine

1. Build the engine

1.1. Prerequisites

  • The following software are installed:
    • Docker CE 17+
    • Visual Studio 2017
    • CMake
  • Being logged on to GitLab's Container Registry to be able to pull the docker images (see this README)
  • Clone the repository smartshape-engine
  • Go into the root directory of smartshape-engine.

1.2. Build starting from smartshape-engine@10.2.0

1.2.1. Android

./script/build.sh android release

1.2.2. HTML5

./script/build.sh html5 release

1.2.3. Linux64

./script/build.sh linux64 release

1.2.4. Windows64

./script/build.sh windows64 release

If the final command (msbuild) fails, you might have to change the VCTargetsPath and add the path of msbuild.exe (for example "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin") to the PATH environment variable. To change the VCTargetsPath (for example):

SET VCTargetsPath=C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets

1.2.5. More options

There are more ways to build the engine. Here is the detailed usage of the building script

Usage: ./script/build.sh <target> <build-type> [--cmake '<cmake-args>']

<target>      The target platform of the build. Available targets are:
                  * android
                  * html5
                  * linux64

<build-type>  The type of build to perform. Available types are:
                  * debug
                  * release

ENVIRONMENT VARIABLES
              The following environment variables can customize the build:

              MAKE_ARGS
                  Arguments to pass to the make program. Default value: -j8.

1.3. Build before smartshape-engine@10.2.0

1.3.1. Android

docker run -it --rm \
   -v ${PWD}:${PWD} -w ${PWD} \
    -v /etc/group:/etc/group:ro -v /etc/passwd:/etc/passwd:ro -u $(id -u $USER):$(id -g $USER) \
   registry.aerys.in/aerys/smartshape-docker/android:{TAG} \
   bash -c "
        mkdir -p build && cd build
        cmake .. \
            -DCMAKE_BUILD_TYPE=Release \
            -DWITH_EXAMPLES=OFF \
            -DWITH_PLUGINS=ON \
            -DWITH_NODEJS_WORKER=ON \
            -DCMAKE_TOOLCHAIN_FILE=/opt/android-ndk-linux/build/cmake/android.toolchain.cmake
        make
    "

1.3.2. HTML5

docker run -it --rm \
   -v ${PWD}:${PWD} -w ${PWD} \
   -v /etc/group:/etc/group:ro -v /etc/passwd:/etc/passwd:ro -u $(id -u $USER):$(id -g $USER) \
   registry.aerys.in/aerys/smartshape-docker/html5:{TAG} \
    bash -c "
        mkdir -p build && cd build
        cmake .. \
            -DCMAKE_BUILD_TYPE=Release \
            -DWITH_EXAMPLES=OFF \
            -DWITH_PLUGINS=ON \
            -DCMAKE_TOOLCHAIN_FILE=/emsdk_portable/sdk/cmake/Modules/Platform/Emscripten.cmake
        make
    "

1.3.3. Linux64

docker run -it --rm \
   -v ${PWD}:${PWD} -w ${PWD} \
   -v /etc/group:/etc/group:ro -v /etc/passwd:/etc/passwd:ro -u $(id -u $USER):$(id -g $USER) \
   registry.aerys.in/aerys/smartshape-docker/linux64:{TAG} \
   bash -c "
        mkdir -p build && cd build
        cmake .. \
            -DCMAKE_BUILD_TYPE=Release \
            -DWITH_EXAMPLES=OFF \
            -DWITH_PLUGINS=ON && \
        make
   "

2. Run

smartshape-engine doesn't have to be run. It is used by the other parts of SmartShape as a base.

3. Develop

When modifying the smartshape-engine code, you have to build the engine again once your modifications are done.

4. Contents

4.1 Framework


Sources for the Minko framework.

4.2 Example

Example applications created with the Minko framework and its plugins.

4.3 Template

This folder contains templates you can use to ease the development of the Minko framework, plugins or applications.

4.4 Plugin

Sources for Minko's plugins.

Available plugins are:

  • angle
  • assimp
  • bullet
  • debug
  • devil
  • fx
  • html-overlay
  • http-loader
  • http-worker
  • jpeg
  • leap
  • lua
  • oculus
  • offscreen
  • particles
  • png
  • sdl
  • sensors
  • serializer
  • video-camera
  • vr
  • zlib