After the win32 api game, the rest of the Graphics Programming module focused on OpenGL, with a focus on procedural shape generation.
This submission actually covered two modules – Graphics Programming for the scene and Operating Environments for the threading of the texture loading and sphere generation.
Source code – OpenGL, C++.
With all of the modules tutorials completed, with an not inconsiderable amount of time spent getting a sphere and skybox right – a space scene seemed inevitable.
Anticipating that at least a few others would be making similar submissions, I started looking into some of the suggested topics not covered by the module.
I chose to further investigate and use the stencil buffer within my scene – and after a few failed attempts found that the stencil buffer had not been initialized…
Working finally, but with a few issues…
Not reflecting the skybox does a pretty good job of highlighting the transparent plane, and secondly how to fit this into a space scene.
Finding a suitable and decent model to import into the scene via Milkshape was proving rather difficult – mostly as the models I liked usually had too many vertices and often multiple texture files.
Eventually I came across a decent model of a Shadow Vessel from Babylon 5, complete with its scale like texture – and this got me thinking…
How to make a jump point texture!
Finding a usable jump point texture proved impossible – often low resolution or with a ship in shot. Fortunately I was able to create a pretty decent image in Photoshop.
I choose to position the jump point in the center of the scene reflecting along the z axis. This diagram details the layout of the scene, the skyboxes actually overlap entirely.
Scaling aside (its meant to look good, not be accurate) I was rather pleased with the final submission. One of the features I was most proud of is that the skin of the Shadow Vessel is animated, well actually there’s two models each animating in a different direction. This is hard to see but this does enhance the rather scary looking model.