Register
Submit a solution
The challenge is finished.

Challenge Overview

For the Hercules client, we are going to be doing some work that involves a couple of their drawing technologies, name "pxCore" and "pxScene".  The links below offer a lot more details on these particular technologies.  pxscene is a graphics drawing library that has Javascript hooks exposed thorugh Node.js and v8.  This challenge will investigate integrating some drawing functionality into pixi.js to allow for using pixi.js APIs to target drawing to pxscene

Pxscene

Pxscene is a platform independent drawing platform that will be used on a wide variety of embedded devices for the Hercules client.  You can find more information here, and you can download the app to be used for testing:  
http://www.pxscene.org/

Pixi.js

Pixi.js is a Javascript graphics library that has a lot of nice features and the ability to target either WebGL or Canvas2D.  We've used it extensively for a project for the client here that may eventually be ported to work on pxscene.

Pxscene limitations

The main task will be injecting a 3rd drawing target into Pixi (in addition to WebGL / Canvas2D), but note that pxscene runs in V8, not a true browser, so there may be some additional compatibility issues

We've done a little investigation into what pxscene can do and what it can't do.  One bit missing piece is the "document" and "window" APIs.  Neither is used heavily by pixi, but we will need to have some way to tell Pixi that we are rendering to pxscene instead of a browser and have it use the proper APIs for bootstrapping the drawable view.

Some of the interaction code may need to be updated / changed as well to use the pxscene APIs.

Note that there may be technical limitations to implementing some of the requirements.  Those can be discussed in the forum and we may limit scope accordingly.

Codebase

A previous codebase is available in Git already.  This challenge will provide Git patch files for the pixi.js and examples repositories to implement the requirements below.

Requirements

For this challenge, we are going to target updates to Pixi.js to at least be able to run all the "Basics" examples found here:  http://pixijs.github.io/examples/#/basics/

Most are complete already, so we are going to implement the remaining examples, including:

* Graphics  (http://pixijs.github.io/examples/#/basics/graphics.js)
* Render Texture (http://pixijs.github.io/examples/#/basics/render-texture.js)
* Textured Mesh (http://pixijs.github.io/examples/#/basics/textured-mesh.js)
* Custom Filter (http://pixijs.github.io/examples/#/basics/custom-filter.js
* Video (OPTIONAL) (http://pixijs.github.io/examples/#/basics/video.js)

The Video example is optional, but it would be a cool one to see work.  Feel free to include that one as additional functionality.

Each individual example can be a separate pxscene JS file that is loaded in the pxscene app for testing.  

Heroku hosting

I'd like to be able to host the examples on Heroku for easy publishing to the customer for testing.  Please provide a basic Heroku wrapper around the code that we can deploy to load examples over HTTP instead of file:// links.  

The current codebase in Git deploys to two separate Heroku instances right now, so I'd like to keep that same setup working as it is now.

Submission

For this challenge, please submit:

1.  An updated set of Pixi sources that target pxscene
2.  A set of example JS files that match the examples on the pixijs Github site that can be run in the pxscene app
3.  A video showing the examples being tested in pxscene
4.  A README documenting any setup that needs to be done, and any limitations that your ran into while investigating.
5.  Deployment instructions for putting the examples on Heroku


Links

Pixi.js
Pxscene 
http://johnrobinsn.github.io/pxScene2d/docs/

 

 


Final Submission Guidelines

Please see above

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30056569