Augmented reality with jMonkeyEngine
Having calibrated the camera, we can proceed with implementing our AR application. We will make a very simple application that only shows a plain 3D box on top of the marker, using the jMonkeyEngine (JME) 3D rendering suite. JME is very feature-rich, and full-blown games are implemented using it (such as Rising World); we could extend our AR application into a real AR game with additional work. When looking over this chapter, the code needed to create a JME application is much more extensive than what we will see here, and the full code is available in the book's code repository.
To start, we need to provision JME to show the view from the camera behind the overlaid 3D graphics. We will create a texture to store the RGB image pixels, and a quad to show the texture. The quad will be rendered by an orthographic camera (without perspective), since it's a simple 2D image without depth.
The following code will create a Quad
, a simple, flat, four-vertex 3D object...