Thursday 11 October 2012

Update


Its been a while since I last updated this so it's about time I showed off some of the stuff that we have been working on in uni.

Although I have 3 modules to work on (as is the case every year), I feel like I put a lot more work into one of these modules than the others (again, as is the case every year). I'm still not entirely sure why I do this, it may be because I find one module more interesting than the others and want to work a lot more on it or it could be that there is just a lot more work to do in one module over the others. This trimester I think it's a mix of those two reasons. Introduction to Graphics Programming is a module that I find quite interesting, especially the coding side, and has a large amount of work to do and because of this I am much more likely to do work for it than the other two modules I have. So, here is some of the work I have done for that module:

At first, the work was fairly easy so it wasn't too much of a hassle having a lot of it to do. We started off just setting up OpenGL and basic windows for use throughout the module and then moved on to basic 2D shapes, culminating in the creation of a 2D Sierpinski Gasket.

A 2D Sierpinski Gasket

At first this was quite difficult but looking back on it now, just a few weeks later, it seems quite simple. The main problem I had was getting the divisions to work properly but luckily it didn't take too long to figure out. After this we moved on to simple 3D shapes, cubes, tetrahedrons and the like. The majority of this work was just making sure that vertices and indices were properly calculated as well as upgrading our background code to improve how we rendered the shapes. At the end of this section we were challenged to make a 3D version of the Sierpinski Gasket using tetrahedrons.

A simple 3D cube

3D version of the Sierpinski Gasket

A 3D scene using a plane and six cylinders
 The 3D Sierpinski Gasket proved a lot more difficult to create and I ended up spending hours trying to work out how to make it work. In the end, one of my classmates helped me understand how the divisions worked and from there i was able to create the final product pictured above. Again, now that I've done it and know how it works, it seems fairly simple and thankfully I wasn't too far off the end product which helped my confidence a lot.

After this we worked on improving our graphics engine to make it even simpler to render objects and now we are working on lighting effects on our objects.

A torus with a diffuse lighting effect

The 3D Sierpinski Gasket with the diffuse lighting effect
So far I've had no problems with any of the lighting code although I have only really just started working through it. I have managed to implement an ambient lighting effect with no problems at all and a diffuse lighting effect as shown above with only minor problems, again with the Sierpinski Gasket but thankfully it didn't take me as long to get it working with the new effect.

I am extremely happy with where my skills are at the moment, given two years ago I had never attempted coding before apart from small javascript and html projects. Although I have struggled a few times in the Graphics Programming module I have always managed to work through it either by myself or with some help from my classmates and my other two modules are going well so far as well. In these modules I am using Java and C# and having absolutely no problems with the coding side of the work at all and I put this down to the work I done over the summer in C#. Simple things that used to trip me up are no longer a problem and I feel like I've gotten much faster at recognizing where problems in my code are and solving these problems.

Unfortunately due to the workload I have at the moment I'm finding it hard to find time for any personal projects but I'm trying to work out a schedule that will allow me to work on some things during term-time and with the Global Game Jam just round the corner I would really like to get my head around Unity so we can make an attempt at a professional looking game. As much as I loved the experience last year and the game we made, it was fairly simplistic and didn't really require us to code too much but this year we will have more experience and more team members which will hopefully allow us to create something much better.


X-Box: IkasuKiller
PS3: Ikasu-Killer 
Steam: ikasukiller
Facebook: http://www.facebook.com/LeighNorton88
LinkedIn: http://uk.linkedin.com/in/leighnorton 

No comments:

Post a Comment