BTW: If matrix multiplications are a performance problem, try to enable lazy transformations (Object3D.enableLazyTransformations()); whenever possible. Even if objects aren't really static but don't move within each frame, enable it and call touch() on the object once it actually moves. That might help to save a lot of matMuls depending on the scene.