Monday, 19 January 2015

Path tracer update!

All right, so here's an update on the path tracer!
Last week, I've implemented an OBJ parser, which enabled me to render OBJ files!
However, I had to also implement bounding volumes, as meshes are incredibly complicated and bad for your performance :P
Here are some of the latest rendered images, excuse the dark one, I had a far too low brightness and render time was too high, so I didn't do it again :(
Although this is looking good, it was not without its problems when implementing everything..
Here are some examples.
Now, this is all looking pretty good, but sadly I will be discontinuing this project until I have a better understand of BRDFs, as I'm not entirely sure if this is all correct and I have no way to check this.
I'll probably end up asking one of the lecturers at uni. So, if anyone would like to take a look at the source, go right ahead at Github.
I've already got some ideas for a next project however, so stay tuned!

Sunday, 11 January 2015

Blog created!

Hi everyone!
Lately, I've been working on a path tracer ( see below ) and this has inspired me to start my own blog.
A path traced render
So first, allow me to introduce myself.
My name is Kevin, and I'm currently studying Game technology at the Utrecht University in the Netherlands. I'm 19 years old and programming and video games are things I do almost every day.

Now, the reason I'm starting this blog is because up until now, the WAYWO ( What Are You Working On ) thread on Facepunch has basically been my blog, but showing your work becomes a bit difficult if you have to go through a thread in order to find the posts you made several weeks ago. Furthermore, I intend to post some tutorials, or difficulties I've encountered whilst creating something, so others can more easily do it themselves, or finally find a solution to that one bug Google has no answer to.

For now, as this is my first time starting a blog, I'm not entirely sure how much content I'll be posting in the coming time. But I'll definitely be posting about my path tracer when I implement new features. Once it's done, and I'm confident enough about it, I'll probably post a small tutorial about path tracing, as it's a difficult subject and it took me a while to understand. To show you what path tracing can achieve, here is a preview from the real time path tracing engine called Brigade.
If rendered long enough, most of the noise disappears and beautiful images emerge, such as in the video below.


Either way, here are some pictures of the beginning stages of my path tracer, when everything went terribly wrong!
The actual first render, which was basically white if it hit something, black if it didn't.

An actual render! This wasn't path traced though, it was ray traced.
Now it was on to path tracing!





I have no idea what I'm doing.



Porting to CUDA proved to be.. odd.
So this post has mostly been an introduction, next posts will be more content and more programming related talk.