Skip to content

gopro/forgejs

Repository files navigation

Overview

ForgeJS is a modern web-based engine built on standard technologies (HTML5, Javascript and WebGL) that runs on every modern browser to unleash immersive VR content experiences. It's not only a VR engine, it's a framework for authoring VR content. You can use ForgeJS even if you do not have advanced programming skills: ForgeJS is able to read a configuration file and create the experience from it.

Resources

Many documentation resources are available online:

Repositories

Linked project repositories for the ForgeJS javascript framework.

Get the build

The latest build is available online on our ForgeJS download page.

Licenses

ForgeJS is licensed under Apache 2.0 license.

ForgeJS has the following dependencies:

NOTE: We made a custom build of three.js with some classes concatenated to it. These classes are included in the original three.js repository but not concatenated in the main build. We added EffectComposer, RenderPass, ClearPass, MaskPass, ShaderPass, TexturePass and CopyShader in our three.custom.min.js.

Quick Start for users

The easiest way to learn how to build a project with ForgeJS is to practice with our tutorials and get inspiration from our samples that are available online.

Quick Start for Developers

Setup

  1. Clone the project from GitHub (git clone https://github.com/gopro/forgejs).
  2. Install nodejs and npm on your machine (download here).
  3. Install the grunt-cli npm package (npm install -g grunt grunt-cli will install grunt globally on your machine).
  4. Install the node dev dependencies of the project (cd forgejs && npm install).

Build ForgeJS

You can now run grunt tasks from the project repo folder. Here is a short list of useful grunt tasks:

Build a non minified build of ForgeJS:

grunt build

Build a minified build of ForgeJS:

grunt min // without logs on FORGE.DEBUG = true
grunt min --keep-log // with logs
grunt min --no-test // without tests

Generate the documentation and the json reference:

grunt doc

Auto watch any changes you made in sources to auto build a non minified build of ForgeJS:

grunt watch:build