3D Graphics coursework

Wow it’s been a while since my last post. I’ve had no upcoming apps to talk about and it’s nearing the end of the second semester at Uni, thus the ‘big push’ for coursework! My 3D Graphics and Simulation coursework has been the thing I’ve spent the most time on recently. Learning OpenGL 3.1 from scratch is very difficult, I’ve never done any 3D graphics before; only 2D. Luckily I’ve had some good help from fellow students and it’s actually quite enoyable when you’re not stuck on bugs that end up being simple but take forever to work out, gurrr :P

3D ACW 1The goal of the ACW is to build several cubes on top of each other to make a column. At the top is three emitters (the blue rectangles) that emit balls at random positions and times. The balls fall down the column, interacting and bouncing off the walls and cylinders inside. There is also a ‘sphere of doom’ which absorbs the mass and size of a ball if it collides.

3D ACW 2It’s not finished yet, I’ve got non-axis aligned cylinders to add, as well as a lot of polish such as streamlining the code objects and improving the lighting. Using shaders for the first time is strange but interesting. Graphics card programming is like programming for another computer, not the one you are using. It’s also quite amazing how powerful the graphics card is, performing so many calculations so fast. With VSync turned off I sometimes saw the FPS go up to 8,000. This is a relatively simple simulation by today’s standards but it’s still impressive how much computers can do these days and also annoying PC gaming graphics are being held back so much by the current generation consoles.

On that note, I’m really looking forward to Microsoft’s next console announcement which is on the 21st of May. It will be interesting to see if they can match the PS4’s impressive show.