3D Graphics Library for Ruby
Mittsu is a 3D Graphics Library for Ruby, based heavily on Three.js
(You can find the source for the Tank Demo here)
Add this line to your application's Gemfile:
gem 'mittsu'
And then execute:
$ bundle
Or install it yourself as:
$ gem install mittsu
Create a basic scene with a perspective camera and a green box:
require 'mittsu'
scene = Mittsu::Scene.new
camera = Mittsu::PerspectiveCamera.new(75.0, 1.0, 0.1, 1000.0)
camera.position.z = 5.0
box = Mittsu::Mesh.new(
Mittsu::BoxGeometry.new(1.0, 1.0, 1.0),
Mittsu::MeshBasicMaterial.new(color: 0x00ff00)
)
scene.add(box)
Mittsu follows a similar structure to THREE.js, so you can generally use the same documentation for a description of the various classes and how they work.
If you want to actually render scenes, you'll need a renderer. There is a reference OpenGL renderer here.
Testing!
Currently the only unit tests are for most of the maths library.
Refactoring!
The code is unfortunately still a mess. Mittsu started out as a direct port of THREE.js, and JavaScript to Ruby is not an exact science.
Find Bugs!
Mittsu is still very young, and there are plenty of small bugs and glitches that need to be ironed out. If you find a bug, create an issue so we can track it and squash it.
Add all the features!
Some of the things I'd like to see ported from THREE.js include:
Write documentation!
You can use the same docs as THREE.js for now, but I would like to provide Mittsu-specific documentation so devs don't have to keep replacing new THREE.Thing()
with Mittsu::Thing.new
.
git checkout -b my-new-feature
)git commit -am 'Add some feature'
)git push origin my-new-feature
)Thank you for helping me help you help us all. ;)