You have managed to navigate to the personal web page of a somewhat old programmer and web developer. Welcome! I do many things in my own way and I learn tremendously much doing so. I love 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 program held at Linköping University. This has awarded me the title “Master of Science in Media Technology”. The program contained a stable foundation in mathematics, physics, computer science and programming as most M.Sc. programs 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 web 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 to 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 to learn from. That is why I'm using GitHub to publish many of the things I produce during my spare time. I aim for a high code quality but keep in mind that the list below does contain some projects that are old and not actively developed anymore.
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.