Using Cinder's CameraOrtho and VBOMesh to draw cubes 23 August 2014
I was browsing through OTAKU GANGSTA when I came across this image:
I thought it was beautiful, and trying to replicate it seemed like a great project.
I started by using gl::drawCube()
to draw a few cubes. It uses triangles for the faces, rather than quads, so the
wire-frame rendering didn’t look right. But it made it easy to get the cubes
into a grid so I could start figuring out how the rotations should work:
The next step was figuring out how to use Cinder’s CameraOrtho
class to setup projection matrices with no perspective. Then I started trying
to matching the number and size and spacing of the cubes:
At this point all that was left was to switch the cube drawing to use quads. I
used the somewhat broken VBOMesh
example code from the Guide to Meshes In
Cinder
by Joshua Noble as a starting point.
After a bit of tweaking the cube size and spacing I got a final result that I’m really happy with:
The source code: