About this blog
Following my exploits within the world of graphics programming.
Entries in this blog
It's been quite a while since I last posted. I'v been busy in america with some work for the university doing a submission system for one of the projects.
I'v done some more on the GPGPU code and have added Phaeton ( imaginary planet between mars and jupitor ) to my solar system model so that I can blow it up to generate an asteroid belt.
Java Demonstration ( CPU Implementation )
I have also attempted GPGPU calculations utilising JOGL ( Java OpenGL bindings ) and Java. Unfortunatly there appears to be a problem doing calculations using this, the textures are uploaded correctly but the calculation fails and thus all of the planets and the sun slide off the screen.
It's almost time to go home so I will be trying to squeese out as much work as I can for the university meaning I will be focusing on the submission system to get it as complete as possible.
Hi, Been away for a while finishing up this year of uni.
Lately i'v been dabbling with GPGPU, quite a while ago I coded an orrey and thought that recoding this using GPGPU principles might be an interesting challenge to take up to further my knowledge of OpenGL and hopefuly learn something knew.
After much work I have finaly managed to get it working. I have learnt some interesting concepts and alot more about shaders than I knew before.
Unfortunatly at the moment the CPU version is 70 times faster in release mode. I belive this to be due to only having 10 objects to do calculations on and then downloading the data from the textures every frame.
Im going to give it some polish eg. Textures and lighting and see if I can speed it up anymore.
If I get time I might attempt to implement a particle engine using the GPGPU principles and have the sun with a burning particle effect.
Finally been able to do some work on my engine. Been busy over the last 2 weeks with assignments for university and have another one for this friday.
First, iv added my own bitmap font loader to allow me to have debug output on the screen like time per frame etc.
Second, iv implemented the resource pools loading by a simple text file allowing me to have the data stored externally rather than cluttering my code.
Third, iv implemented a 4x4 matrix class to allow me to do my own matrix multiplications for objects and the camera when necessary. At the moment only the main game objects use the matracies.
Finally, iv implemented a quaternion class to allow me to calculate rotations easily and later on it will allow me to have smoother rotations via interpolation.
Next thing to work on is either a height map loader or an object loader. Will post some screen shots once iv added these.
Today I begun integrating the new object system with my current game engine code, I have combined it with my camera and the main engine class.
I have also added the ability to calculate face normals for the object, I intend to do vertex normals at some point soon.
Im also intending to have the resource pools load their data from a file which should be simple to implement and will probrobly be done tomorow.
Took me most of the day to work out bugs and problems but I now have shaders working. My current shaders are per pixel lighting with and without a texture.
I have also added glee to my code to alow me easy use of extentions like the shader stuff and vertex buffer objects.
Also I have modified my renderer code to only shift shader and meterial data when needed, this should reduce overheads but I now need to code some form of sorting method into my code before rendering to use it efficiently.
Screenshot of my shader working:
My next task is to integrate this new object system with the rest of the engine so far.
I have now recoded my object class. The general structure now is:
GameObject which contains a pointer to a GraphicsObject which contains a pointer to a Surface which contains a string identifier for a mesh and for a material.
I have also produced a resource manager for meshes and materials which currently caches by a supplied name. Later I will use a reference counting pointer to allow me to know when to destroy the created resource.
Screenshot of it working:
Rectangle on the left uses no meterial and the one on the right uses a copper meterial, they are both using the same mesh.
Hi, first post here.
I'v joined the GDNet+ membership because without this site i would have got quite lost a while ago when i started with graphics programming and i belive it would be good to give something back to the site.
This journal will keep a track of my game engine im currently writing and any games that come from it or other things.
I currently have the basics of a very simple engine together and will keep this journal updated with any new developments with it and its progression.