Skip to content
Mo Morsi edited this page Jun 16, 2014 · 4 revisions

Omega comes with an optional frontend that can be used to view and manipulate Omega universes right in the web browser.

To see a demo navigate here, to see screenshots of it in action see this.

A complete user tutorial can be found here.

#Background

The frontend is built with the Middleman static site generator which process haml and sass temples as well as the Omega javascript client based on three.js.

Middleman produces a static site which can be served by any web server (apache, nginx, etc).

#Setup

To setup the site from a working checkout and running omega-server run:

$ gem install middleman
$ rake site:preview

This will setup a thin web server to serve pages, regenerating them as they are modified on the disk (good for testing changes out).

Due to cross site scripting restrictions the end-user's web browser will not be able to request data from both the static site as well as from omega-server running on a different port.

The server admin can use an webserver such as httpd or nginx to act as a frontend, proxying requests as they arrive to the static site or omega-server.

An example httpd config file setting this up can be seen here.

To build the static site in a more permentant fashion, run

$ rake site:build

This will generate the html/js/css and write it to the disk (in the site/build) directory.

The server admin may simply drop this folder into their webserver document root to easily / efficiently serve the frontend (a proxy will still be needed for the running omega-server simulation itself)

#Content The web interface uses a combination of standard html/css as well as three.js to represent and render Omega entities.

Thus any mesh, texture, or other resource accepted by three.js is allowed by Omega.

There is an easy to use plugin for Blender which allows you to export any model to the supported format.

Furthermore instructions and various helper scripts are provided part of the omega-conf project.