Abstract
Super Jumper worked out rather well with our 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 zero by default. The difference from 2D rendering isn’t all that big, really:
-
• Vertices not only have x- and y-coordinates, but also a z-coordinate.
-
• Instead of an orthographic projection, we use a perspective projection. Objects further away from the camera will 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 3 axes.
-
• We can define a camera with an arbitrary position and orientation in 3D space.
-
• The order we render the triangles of our objects with is now important. Objects further away from the camera must be overlapped by objects closer to the camera. The best thing is that we have already laid the groundwork for all of this in our framework. We just need to adjust a couple classes slightly to go 3D.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Rights and permissions
Copyright information
© 2011 Mario Zechner
About this chapter
Cite this chapter
Zechner, M. (2011). OpenGL ES: Going 3D. In: Beginning Android Games. Apress. https://doi.org/10.1007/978-1-4302-3043-4_10
Download citation
DOI: https://doi.org/10.1007/978-1-4302-3043-4_10
Publisher Name: Apress
Print ISBN: 978-1-4302-3042-7
Online ISBN: 978-1-4302-3043-4
eBook Packages: Professional and Applied ComputingProfessional and Applied Computing (R0)Apress Access Books