You have managed to click your way to the personal web page of an increasingly older programmer and web developer. I do many things in my own way and learn tremendously much doing so. I love old video games, eat vegetarian, enjoy a wide range of different music and always love a good discussion about programming languages!
I have completed a five year long education programme held at Linköping University. This has awarded me the title “Master of Science in Media Technology”. The programme contained a stable foundation in mathematics, physics, computer science and programming as most M.Sc. programmes but also focused on applications within modern media.
During my time at the university, a collection of projects has taken form. Some of the projects come from course assignments and some are spare time projects. This as my interests often spanned beyond the curriculum. Please have a look at the portfolio section of this page if you are intrested in my projects.
If you have any question regarding pretty much anything, do not hesitate to contact me. You will find all the information you need at the bottom of every page. You can also use the menu buttons at the top to send me an e-mail or call me if you are viewing this page through a smart phone.
I believe that software should be free to use and its source code open to read and learn from. That is why I'm publishing most things produced during my spare time on GitHub. I aim for a high code quality but keep in mind that the list below might still contain some projects that are not actively developed anymore or even projects that are outright stupid. Feel free to send me some feedback if you encounter something that needs improvement!
My master's thesis aimed to investigate whether the fixed-functionality pipeline of a modern graphics processing unit could be replaced by a pipeline implemented solely using the programmable units. For the task, I chose the Open Computing Language since it is portable between different platforms and does not rely on a specific hardware architecture. The entire pipeline was constructed in a data-parallel fashion utilizing as much as possible of the available computational power. It included implementations of the transformation, clipping, projection, culling and rasterization stages as well as software emulators for the texture and raster operation units. The image below was rendered in real-time using the custom graphics pipeline and provides a good demonstration of the capabilities of the renderer.
The report of my master's thesis can be downloaded using the button below. Throughout the report, methods used in three-dimensional computer graphics are discussed and details on the implemented pipeline are provided.
Just a bunch of timers counting down to some special events.