OpenGL ES: Going 3D

  • Mario Zechner
  • Robert Green


Super Jumper worked out rather well with the 2D OpenGL ES rendering engine. Now it’s time to go full 3D. We actually already worked in a 3D space when we defined our view frustum and the vertices of our sprites. In the latter case, the z coordinate of each vertex was simply set to 0 by default. The difference from 2D rendering really isn’t all that big:
  • Vertices have not only x and y coordinates, but also a z coordinate.

  • I nstead of an orthographic projection, a perspective projection is used. Objects further away from the camera appear smaller.

  • Transformations, such as rotations, translations, and scales, have more degrees of freedom in 3D. Instead of just moving the vertices in the x–y plane, we can now move them around freely on all three axes.

  • We can define a camera with an arbitrary position and orientation in 3D space.

  • The order in which we render the triangles of our objects is now important. Objects further away from the camera must be overlapped by objects that are closer to the camera.


Perspective Projection Virtual Camera Green Triangle Orthographic Projection World Space 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Mario Zechner and Robert Green 2012

Authors and Affiliations

  • Mario Zechner
  • Robert Green

There are no affiliations available

Personalised recommendations