Framework for creating rich WebGL-enabled applications using JavaScript and Ruby. Can be used stand-alone to create static JavaScript documents, or integrated seamlessly with Ruby on Rails to build dynamic WebGL applications.

gem install jax -v 3.0.0.rc2


Jax Build Status Dependency Status

Jax is a framework for developing rich WebGL-enabled applications using JavaScript and Ruby. It can be used within a Ruby on Rails application, or as a completely stand-alone WebGL development environment.

Live Demos

Click on any image below to be taken to a live WebGL demonstration. Be sure to use a WebGL-enabled browser!

If you're working on a demo you'd like to see added to this list, let me know!


It requires ruby, which you can download at:

Other than that, Jax requires a few ruby gems which will be retrieved automatically when installing.

Getting Started

By far the best place to go if you want to dive into Jax is the Jax Guides. These are comprehensive guided tours of the framework, and cover pretty much anything you can think of doing. In particular, the Getting Started Guide is laid out in an easy-to-follow tutorial format.

Another good place to look around is the Jax Wiki, where Jax developers (including yourself!) can share tips and tricks with one another.

The Forums are a great place to get involved in the Jax community, and are a good place to go for help or general discussion.

The Jax Blog is where the latest news and developments-in-progress will be posted, so if you keep an eye on you'll always be in the know.

Finally, you can always contact me, the developer, on Twitter as @sinisterchipmnk or sinisterchipmunk on Github.

Helping Out

Anyone interested in doing so is more than welcome -- nay, encouraged -- to fork this project on Github.

How to Contribute

  1. Fork Jax.
  2. Check out a new branch. Name it something representative of the changes you'll make.
  3. Write a failing test case to demonstrate the need for your new code. If this is not possible, explain in detail why not.
  4. Make the appropriate changes to Jax.
  5. Send me a pull request explaining what you did and why you did it.
  6. I'll review the commits and, if they are in keeping with the goals of Jax, I'll merge them with the main project.


  • When making code changes, please don't update the version number. I'll do that when it's time to actually release some code.
  • Feel free to fix or update the documentation and/or the Jax guides. They're part of the project, after all.
  • If your code change is public-facing, please do update the documentation with how to use the new features. You know your own code better than anyone else.


Jax is released under the MIT license.